![]() machine-implemented method for advertising a service in a peer-to-peer and handheld network environm
专利摘要:
EFFICIENT SERVICE ADVERTISING AND DISCOVERY IN A END-TO-END NETWORK ENVIRONMENT WITH DYNAMIC ADVERTISING AND DISCOVERY PERIODS BASED ON OPERATING CONDITIONS. The present invention relates to a local device that is configured to monitor operating conditions coupled to a wireless network. An advertisement period is dynamically adjusted based on the operating conditions of the local device, where the advertisement period is dynamically adjusted based on at least a battery condition of the local device, a user behavior of the local device, in a condition of network traffic, or on a type of service to be advertised. The home device broadcasts a service advertisement over the wireless network in accordance with the set advertisement period, the service advertisement including one or more service IDs to identify one or more services to be advertised from the home device. 公开号:BR112012017735B1 申请号:R112012017735-4 申请日:2010-12-08 公开日:2021-05-25 发明作者:Pierre Vandwalle;Tito Thomas;Charles Francis Dominguez 申请人:Apple Inc.; IPC主号:
专利说明:
RELATED ORDERS [0001] This application claims priority from U.S. Provisional Patent Application No. 61/289,689, filed December 23, 2009, which is incorporated by reference in its entirety. FIELD OF THE INVENTION [0002] Embodiments of the invention refer generally to the field of peer-to-peer network, and more particularly to service announcement and service discovery in a peer-to-peer network environment. BACKGROUND [0003] Devices such as electronic devices, computing systems, handheld devices, and handheld devices feature software applications such as game applications. Some of these apps are shared, for example multiple devices can participate in a gaming app in a collaborative way. The shared characteristics of an application can be referred to as services. Before a device can use a service offered by another device, the participating device (the discoverer) has to discover that service available on a network. Services are advertised by a remote device (ie, the advertiser) on the network. [0004] Various discovery techniques are available for electronic devices connected to a network or trying to connect to a network. These discovery techniques typically involve using a network protocol to determine which devices and/or services are available over a network connection. These discovery techniques are useful for many situations. However, in certain situations, these discovery techniques are not optimal. [0005] Typically, each device on a network is configured to periodically scan and/or advertise a service on the network according to commonly known scanning and advertising schedule, such as, for example, in a period range of 100 - 800 milliseconds (ms). When there are many devices on the network in a close location, such a scanning and/or advertising strategy may not be efficient as there can be a large communications channel congestion, which results in a delay for devices to discover a service from another device and /or advertise a service. In such a scenario, it would not be necessary to spend additional time scanning to ensure reliable service discovery. The additional time spent scanning consumes a great deal of energy, which is a critical resource in a portable electronic device. Also, frequent frequent discovery scans and ad broadcast can consume more power, which is important for a handheld device. There is a lack of an effective way to optimize discovery and/or service announcement for handheld devices. SUMMARY OF DESCRIPTION [0006] According to some embodiments, a discovery and service announcement mechanism is used to enable a device (for example, an electronic handheld device, such as a notebook, a cell phone/smartphone, a media player , a personal digital assistant (PDA), or a combination thereof) efficiently discover and/or advertise one or more services over a wireless network (eg, IEEE 802.11 or WiFi, personal area network, such as a Bluetooth-enabled network ). [0007] In one embodiment, when a first device advertises one or more services on a wireless network, the first device will broadcast or multicast an advertisement message (also simply referred to as an advertisement) on the network, where the advertisement includes a or more service identifiers (eg, hashes, each identifying a specific service potentially made available on the first device). The advertisement additionally includes information regarding the availability, such as an availability plan, of the first device to which the first device will be tuned into the network to listen for any service requests about the advertisement. Thereafter, the first device may turn off or reduce the power supply for at least a portion, such as a radio frequency (RF) portion (e.g., transceiver, antenna), of the first device for a certain subsequent period of time in accordance with the availability information (eg availability plan). Alternatively, the first device can perform some other tasks during that time period. [0008] When a second device in the network receives the advertisement, the second device can determine whether it is interested in acquiring one or more of the services advertised from the first device based on the service identifiers in the advertisement. If interested, the second device may transmit a service request to the first device using the availability information of the first device, where the service request includes the service identifier of one or more selected services. For example, the second device may broadcast the service request according to the availability plan of the first device (for example, during the availability window of the first device, when the first device is tuned in). In response to the service request, the first device may transmit more detailed information about the requested services to the second device. [0009] According to another embodiment, each device on the network is configured to monitor the operating environment of the respective device, as well as the network traffic on the network. Based on the result of monitoring, a device can dynamically adjust its ad period and/or service discovery period. For example, if a device has a short remaining battery life, the device may reduce the frequency of service announcements and service discovery (for example, increase service announcement and/or discovery periods). As another example, if it is determined that communications channel congestion is relatively high, for example, due to a large number of devices on the network, a device may also adjust service announcement and/or discovery periods accordingly (per (eg, increasing service announcement and/or discovery periods to prevent network congestion collapse). [00010] In one embodiment, the service announcement period and/or service discovery period are calculated based on multiples of a predetermined base value. However, the service discovery period is set to not be multiples of the service announcement period, or vice versa. As a result, an advertiser and/or discoverer may independently calculate their own ad and/or service discovery periods; however, an advertisement from an advertiser will still be captured by a discoverer over a period of time dependent on the specific calculation of the service advertisement period and/or the service discovery period. [00011] According to a further embodiment, multiple devices that are capable of announcing one or more services can be coordinated with each other to select one or more devices to advertise the services on behalf of the other devices. Such a device acts as a group advertiser. A device can be selected as a group announcer according to a variety of parameters (eg a battery condition, etc.), which are monitored by the logic of the respective device. A device can operate as an advertiser that advertises its own services and/or a group advertiser that advertises services of other devices on the network. A device can also operate as an advertiser to advertise its own services, as well as be an advertiser (advertisee) presenting one or more of its own services to be advertised by another device. A device can also operate as an advertiser (advertisee) only that it relies on another device to advertise its services. [00012] Other features of the present invention will be apparent from the accompanying drawings and from the detailed description below. BRIEF DESCRIPTION OF THE DRAWINGS [00013] Embodiments of the invention are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate like elements. [00014] Figure 1 is a network configuration that can be implemented with an embodiment of the invention. [00015] Figure 2 is a block diagram illustrating an example of an electronic device according to an embodiment of the invention. [00016] Figure 3 is a flow diagram illustrating an example of a service advertisement transaction flow according to an embodiment. [00017] Figure 4 is a timeline diagram of a service announcement according to an embodiment. [00018] Figure 5 is a block diagram illustrating an example of an advertisement message according to an embodiment. [00019] Figure 6 is a flow diagram illustrating an example of a method to advertise a service according to an embodiment. [00020] Figure 7 is a flow diagram illustrating an example of a method to discover a service according to an embodiment. [00021] Figure 8 is a block diagram illustrating an electronic device according to another embodiment of the invention. [00022] Figure 9 is a timeline diagram illustrating an advertisement period and a discovery period according to an embodiment. [00023] Figure 10 is a flow diagram illustrating a method for advertising a service according to another embodiment of the invention. [00024] Figure 11 is a flow diagram illustrating a method for discovering a service according to another embodiment of the invention. [00025] Figure 12 is a block diagram illustrating an electronic device according to another embodiment of the invention. [00026] Figures 13A-13C are transactional diagrams illustrating examples of device transitions between advertisement operating states according to some embodiments of the invention. [00027] Figure 14 is a block diagram illustrating a group announcement message according to an embodiment of the invention. [00028] Figure 15 is a flow diagram illustrating a method for one device to request another device to act as a group advertiser and ad services on its behalf. [00029] Figure 16 is a flow diagram illustrating a method for a device to become a group advertiser and initiate advertising services on behalf of another device. [00030] Figure 17 is a flow diagram illustrating a method for selecting a group advertiser according to an embodiment of the invention. [00031] Figure 18 shows an example of a data processing system that can be used with an embodiment of the present invention. DETAILED DESCRIPTION [00032] Various embodiments and aspects of the inventions will be described with reference to the details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the invention and should not be construed as limiting the invention. A number of specific details are described to provide a full understanding of various embodiments of the present invention. However, in certain examples, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present invention. [00033] Reference in the specification "an embodiment" indicates that a specific feature, structure or feature described in conjunction with the embodiment may be included in at least one embodiment of the invention. The appearance of the phrase "in an embodiment" in several places in the specification does not necessarily refer to the same embodiment. The processes represented in the following figures are performed by processing logic comprising hardware (eg circuits, dedicated logic, etc.), software, or a combination of both. Although the processes are described below in terms of the same sequential operations, it should be appreciated that some of the operations described may be performed in a different order. Also, some operations can be performed in parallel rather than sequentially. Definitions • Advertiser - a device that advertises one or more of its own services. • Group advertiser - a device that advertises one or more services on behalf of one or more other devices. Group advertisers will also advertise their own services, if they have any. • Advertised (advertisee) - a device whose services are being advertised by another device on the network (that is, by a group advertiser, not including itself). • Discoverer - a device that is trying to discover one or more services on the network. • Availability Window - a period of time a device is available and tuned into the network, and is able to respond to service discovery requests, advertisement requests, and other requests. • Availability plan - the times a device will be available to respond to service requests. In announcement messages, this indicates the times and widths of a device's availability window(s). • Announcement/Announcement Message - a multicast transmission/broadcast frame periodically sent by an advertiser that contains information about the services it provides. • Group Announcement/Group Announcement Message - a multicast broadcast/broadcast frame periodically sent by a group advertiser that contains information about its own services (if any) as well as services available on other devices on the network. • Advertisement Request/Ad Request Message - a message sent by a device to another device requesting the recipient to act as a group advertiser and advertise services on behalf of the sender. • Advertisement Reply/Ad Reply Message - a message sent by a device to another device in response to an advertisement request message, indicating whether the sender will honor the initial request message and act as a group advertiser. • Service Request/Service Request Message - a message sent by a discoverer to an advertiser requesting detailed information about the service(s) corresponding to the supplied ID(s) ). • Service Response/Service Response Message - a message sent by an advertiser/group advertiser to a discoverer providing detailed information about one or more services. • Ad period - the time interval between successive broadcasts of an ad frame by an advertiser. • Discovery Period - the time interval between successive discovery attempts by a discoverer. [00034] Figure 1 is a network configuration that can be implemented with an embodiment of the invention. Referring to Figure 1, network configuration 100 includes multiple electronic devices 101-103 communicatively coupled to network 104, which may be a wireless network such as IEEE 802.11 (e.g. WiFi) or a network compatible with the network. personal area (PAN) (eg Bluetooth). Any of the 101-103 devices can be any of the portable devices, such as, for example, a portable computing device (eg, notebook/netbook computers, such as MacBook® from Apple Inc. of Cupertino, California), a tablet PC (eg an iPad® from Apple Inc.), a cell phone/smartphone (eg iPhone® from Apple Inc.), a media player (eg iPod® from Apple Inc.), a PDA. a copier/printer/scanner/modem/facsimile device, or a combination thereof. Alternatively, any of the 101103 devices can be a desktop computer or other non-portal devices featuring a wireless communications interface (for example, an RF frontend or embedded or connected transceiver) that is capable of wirelessly communicating with another device. over a wireless network. [00035] Each of the 101-103 devices includes service advertisement logic (eg 105-107 logic, respectively) and service discovery logic (eg 108-110 logic, respectively), which can be implemented in hardware, firmware, software, or a combination thereof. The service advertisement logic is responsible for announcing one or more services of a local device on the network 104 while the service discovery logic is responsible for discovering one or more available services of one or more devices on the network 104. The devices 101- 103 can advertise and/or discover one or more services on network 104 using a variety of wireless communications protocols, such as, for example, Bluetooth or WiFi compatible protocols. Additional detailed information regarding service discovery using a network protocol The personal area can be found in copending US Patent Application No. 12/405,130 entitled "Service Discovery Functionality Utilizing Personal Area Network Protocols", filed March 16, 2009, which is incorporated by reference in its entirety. [00036] The purpose of an advertisement for a service from a device (also referred to as an advertiser) is to inform other devices on a network, or to allow other services (also referred to as discoverers) on the network to discover that the specific service is potentially available on that specific device. It is also noted, throughout this application, that the embodiments of the present application are described in a wireless network environment; however, it will be appreciated that such embodiments can also be applied in a wired network environment. [00037] In one embodiment, when a first device, in this example, device 101, advertises one or more available services in a wireless network, the service announcement logic 105 of device 101 will multicast or transmit a message. advertisement (also simply referred to as an advertisement, or a service advertisement) in network 104, where the advertisement includes one or more service identifiers (IDs), each of which identifies a specific service potentially available from the device 101. A service identifier may be represented by a hash value constructed using a variety of hashing algorithms (for example, SHA-1 or MD5). A hash value can be generated based on data that represents a subscription or certain characteristics of a specific service. The announcement additionally includes availability information, such as the availability plan of the device 101, which the device 101 will use to configure its availability window when it is tuned into the network 104 to hear any service inquiries for the announcement of others. devices (for example, device 102-103). Thereafter, the device 101 can turn off or reduce the power supply to a certain portion of the device 101, such as, for example, at least the radio frequency (RF) portion (e.g., transceiver, antenna) of the device 101 for up to a certain period. of time subsequent to the availability information associated with device 101. Alternatively, device 101 may, in turn, perform other tasks without transmitting or being tuned to network 104. [00038] When a second device, in this example, device 102, in the network receives the advertisement transmission from device 101, based on the service identifiers in the advertisement, device 102 can determine whether it is interested in acquiring additional detailed information from the device. advertised service of device 101. If so, according to one embodiment, device 102 may transmit a service request to device 101 in accordance with the availability plan of device 101 (e.g., during one of the device availability windows 101, when device 101 is tuned), where the service request includes one or more service identifiers of one or more selected services. In response to the service request, device 101 may transmit more detailed information of requested services (e.g., device 1020). That is, a service ID may merely indicate a potentially available service from an advertiser. In order to confirm such a service, a discoverer has to acquire additional detailed information from the advertiser through a service request and response protocol. [00039] According to another embodiment, each of the devices 101-103 in the network 104 is configured to monitor the operating environment of the respective device, as well as the network traffic in the network. Based on the monitoring result, a device can dynamically adjust its service advertisement period (also simply referred to as an advertisement period) and/or service discovery period (also referred to as a discovery period). For example, if the battery of device 101 is running low, device 101 may reduce the frequency of transmitting and listening to service announcement and service discovery (e.g., increase service announcement and/or discovery periods. service). As another example, if it is determined that the communications channel congestion is relatively high, for example, due to a large number of devices on the network, the device 101 may also adjust the service announcement and/or discovery periods of agreement (for example, increasing advertisement and/or discovery periods). [00040] In one embodiment, a service announcement period and/or service discovery period are calculated based on one or more multiples of a predetermined base value. However, a service discovery period may not be configured as a multiple of a service announcement period, or vice versa. As a result, an advertiser and a discoverer can independently calculate their own service advertisement period and/or service discovery period; however an advertisement from an advertiser (eg device 101) will still be able to be captured by a discoverer (eg device 102) over a period of time. Also, because a service announcement period is not a multiple of a service discovery period or vice versa, each of the devices on the network can adapt its own period before establishing any communication between them, based on your own perception of the network conditions explained above. [00041] According to a further embodiment, devices 101-103 may be coordinated with each other to select one or more devices to advertise services on behalf of other devices. For example, device 101 can be selected as a group advertiser according to a variety of parameters (eg a battery condition, etc.), which are monitored by device monitoring logic, to advertise services to the device 102 and/or device 103. Device 101 may operate as a group advertiser that advertises its own services and services of devices 102-103 on the network. Device 101 may also operate as an advertiser to advertise its own services, as well as an advertiser (advertisee) featuring one or more services to be advertised by another device (eg, devices 102-103). Device 101 may also operate as an advertiser (advertisee) only that relies on another device (eg devices 102-103) to advertise its services. [00042] It is noted throughout this application that the term "service" can be a wide range of services including, but not limited to, printing services, local area network (LAN) access services, wireless network access services. wide area (WAN), cell phone services, data storage services, and/or application services (eg media playback, games, collaborative document creation services, recording services, etc.). Efficient Service Advertisement and/or Discovery Mechanisms [00043] Figure 2 is a block diagram illustrating an example of an electronic device according to an embodiment of the invention. For example, the electronic device 200 can be implemented as a part of any of the devices 101-103 of figure 1. Referring to figure 2, device 200 includes, but is not limited to, the service announcement unit 201, the unit discovery data 202, user interface unit 203, service management unit 204, storage device 205, one or more processors or processor cores 206, network interface unit 207, and memory 208, coupled together by means of a bar, interconnection, or mesh 209. [00044] Processor 206 can be any type of microprocessor, which can be a single processor, multiple processors, or multiple processor cores. The network interface unit 207 may be part of an RF frontend including, but not limited to, a wireless transceiver and an antenna or a modem, etc. Alternatively, the network interface unit 207 may also include a wired communications interface, such as an Ethernet port, a universal serial bus (USB) or a WiFi® port. Memory 208 can be any type of random access memory (RAM), which is typically implemented as volatile memory. The user interface unit 203 may include a display device, an input device (e.g., a keyboard, a touchpad, a touch screen, a styling device, or a combination thereof), and audio and interfaces. /or video, etc. [00045] The service advertisement unit 201 is responsible for announcing one or more services available or provided by the device 200. For example, the service advertisement unit 201 can be implemented as a part of any of the service advertisement logics 105-107 of Figure 1. In one embodiment, the service advertisement unit 201 is configured to advertise, via the network interface unit 207, one or more services by means of multicast transmission or transmission of an advertisement in the network ( for example, network 104 in Figure 1) according to an advertisement schedule (eg, advertisement period). An advertisement may include one or more service identifiers (IDs) that identify a service that is potentially provided by the device 200. A service identifier may be generated by the service manager 204 and stored in the storage device 205 as a part of the identifiers. service 210. In one embodiment, a service identifier includes a hash value generated by service manager 204 in accordance with a variety of hash algorithms, such as, for example, SHA-1 or MD5 algorithms. [00046] Alternatively, a service identifier can be represented by a specific bit of a bitmask, where a bitmask includes one or more bits having a predetermined logical value, each representing a specific service. For example, the location of a specific bit of a bitmask is used to indicate a specific service that is potentially available from an advertiser, where the bitmask is transmitted over the network through an advertisement, similar to the techniques described in the Request for Co-pending US Patent No. 12/687,814 entitled "Efficient Service Discovery for Peer-to-Peer Networking Device", filed January 14, 2010, which is incorporated herein by reference in its entirety. [00047] Again, a service ID may merely indicate a potentially available service from an advertiser. Furthermore, a hash (service ID) could possibly represent multiple services, as there could be a collision where multiple services are accommodated for the same value. In order to confirm such a service, a discoverer has to acquire additional detailed information from the advertiser through a service request and response protocol. Announcing a potential service by transmitting or multicasting a hash value representing such a potential service, and providing detailed information about the service only in response to a specific request for such a service greatly reduces the network traffic involved. in advertising and in service discovery. [00048] The service manager 204 is also responsible for maintaining or managing the service information 211 associated with available services of the device 200, which can be stored in the storage device 205. The storage device 205 can be implemented as any type of memory device or disk and accessed through any type of file system. Service manager 204 may also generate and maintain a list of services available on the network, including services advertised by device 200 or by other devices on the network. The list of services may be periodically updated in response to a result of a service discovery operation performed by the service discovery unit 202. [00049] Similarly, the service discovery unit 202 is responsible for discovering one or more available services from the network, which can be advertised by one or another device on the network. For example, the service discovery unit 202 can be implemented as a part of any of the service discovery logic 108-110 of Fig. 1. In response to an advertisement from a remote device, the service discovery unit 202 is configured. to communicate, through the network interface unit 207, with the remote device to acquire additional detailed information of the services and can generate or update a list of services that are available in the network, which can be stored as part of the service information 211 . [00050] Figure 3 is a flow diagram illustrating an example of a service advertisement transaction flow according to an embodiment. For purposes of illustration, it is assumed that both the local device 301 (such as an advertiser) and a remote device 302 (such as a discoverer) have a similar or identical infrastructure as the device 200 of Figure 2. Referring to Figures 2 and 3, according to an embodiment, after receiving an advertisement from a service advertisement unit of device 301 via transaction 303, a service discovery unit of device 302 compares the service IDs in the advertisement request with those locally generated via the operation 304. If device 302 is interested in the advertised service or services, the service discovery unit of device 302 will transmit a service request to device 301 via transaction 305, including one or more service identifiers that identify one or more services that device 302 is interested in. In response to the service request, the service announcement unit of device 301 transmits a service response to device 302, including detailed information of one or more services requested through transaction 306. It is noted that a service identifier may merely indicate that a service is potentially available from the device 301. In order to obtain detailed information of the potential service, the discoverer has to acquire detailed information in transmitting a service request based on the service identifier. Device 302 then compares the service information returned with the local list of desired services through transaction 307. If any of the services match services 301-302, it may participate in the services (eg, games in a collaborative manner) through the transaction 308. [00051] According to an embodiment, referring again to Figure 2, when advertising a service, an advertisement generated by the service advertisement unit 201 will additionally include an availability plan of an advertiser, in this example, of the device 200 In one embodiment, the availability plan includes the start of the next availability window from the time the advertisement was broadcast and the length of the window (eg duration of the availability window). That is, an advertiser may only be tuned into the network for a specific period of time. When a discoverer receives an advertisement, the discoverer may allocate a broadcast time slice according to the advertiser's availability plan, during which the discoverer transmits a service request to the advertiser during one of the advertiser's availability windows. Conversely, either the advertiser or the finder or both the advertiser and the finder can turn off or reduce the power supply for at least a portion (eg wireless transceiver or RF frontend) of the respective device, for example, by a unit power management settings for the respective device (not shown). It is noted that some or all of the components, as shown in figure 2, can be implemented in hardware, firmware, software, or a combination thereof. [00052] Figure 4 is a timeline diagram of a service announcement according to an embodiment. Referring to Figure 4, when an advertiser (eg device 200) advertises a service, in one embodiment, the advertiser may broadcast an advertisement at time 401, where the advertisement includes an availability plan presenting an interval until the start of the next availability window 402 and the duration of the next availability window 403. That is, after transmitting the advertisement at time 401, the advertiser may turn off or reduce the power supply to at least a portion of the device, such as, for example , an RF frontend of the device. The advertiser can then turn the power supply back on at the next availability window for duration 403, during which a discoverer can communicate with the advertiser to acquire detailed information of a specific service or services. As a result, the advertiser's energy consumption can be reduced. During the availability window, the advertiser can receive a service request from a discoverer and respond with a service response presenting detailed information of the requested service or services. [00053] Similarly, after a discovery receives an advertisement, the discoverer may also turn off or reduce the power supply to at least a portion of the device and be awakened according to the advertiser's next availability window to transmit a service request for the advertiser. As a result, the energy consumption of the detector can also be reduced. [00054] Figure 5 is a block diagram illustrating an example of an advertisement message according to an embodiment. Referring to Figure 5, advertisement 500 includes, but is not limited to, a header 501, the Start of Availability Window 502, the Length of Availability Window 503, the number of service IDs 504, and one or more IDs 505. In one embodiment, a service ID is represented by a hash value, which represents a possible service to be advertised. Generally speaking, a hash (service ID) can possibly represent multiple services, as there can be a collision where multiple services are accommodated for the same value. It is noted that the ad format and field layout 500 is shown for illustration purposes only; other layout of formats or fields can also be implemented. [00055] Figure 6 is a flow diagram illustrating an example of a method to advertise a service according to an embodiment. It is noted that method 600 may be executed by processing logic which may include hardware, firmware, software, or a combination thereof. For example, method 600 may be performed by the service advertisement unit 201 of Figure 2. Referring to Figure 6, at block 601, an advertisement is constructed within a local device (e.g., an advertiser) which includes a start period of the next availability window, length of the availability window, numerous service IDs (for example, hashes), and the current service IDs. Each Service ID represents a service potentially offered by the local device. At block 602, the advertisement is broadcast or multicast by the local device over a wireless network. [00056] At block 603, the local device may optionally turn off or reduce the power supply to at least a portion of the device and be awakened in time according to the next availability window specified in the advertisement request at block 604. 605, during the availability window, the local device hears and receives a service request from a remote device over the network in response to the advertisement. The service request includes one or more service IDs that represent one or more services inquired by the remote device. One or more Service IDs can be selected from those featured in the advertisement previously broadcast or multicast from the local device. In response to the service request, at block 606, the local device transmits a service response to the remote device, including detailed information of the services requested in the service request. [00057] Figure 7 is a flow diagram illustrating an example of a method to discover a service according to an embodiment. It is noted that method 700 may be performed by processing logic which may include hardware, firmware, software, or a combination thereof. For example, method 700 may be performed by the service discovery unit 202 of Fig. 2. Referring to Fig. 7, at block 701, a local device (e.g., a discoverer) receives an advertisement from a remote device over a network. . In response to the advertisement, at block 702, the local device extracts from the advertisement the start of a next availability window, the length of the availability window, and one or more service IDs (eg, hashes) that identify one or more services announced by the remote device. At block 703, the local device can optionally turn off or reduce the power supply for the next availability window specified in the advertisement. At block 704, the local device transmits a service request to the remote device, where the service request includes one or more service IDs (e.g., hashes) that identify one or more services to be queried. At block 705, a service response is received from the remote device during the remote device's availability window, where the service response includes more detailed information of the inquired services. Service Announcement/Discovery with Dynamic Announcement/Discovery Periods [00058] According to some embodiments, the advertisement period and the discovery period can be dynamically adjusted based on operating conditions and/or user behaviors at the point in time. According to an embodiment, each device on the network is configured to monitor the operating environment of the respective device, as well as network traffic on the network. Based on the monitoring result, a device can dynamically adjust its ad period and/or service period. For example, if a device is running low on battery power, the device may reduce the frequency of service announcement and service discovery (for example, increasing service announcement and/or discovery periods). Another example, if it is determined that communications channel congestion is relatively high, for example, due to a large number of devices on the network, a device may also adjust service announcement and/or discovery periods accordingly (for example , increasing service announcement and/or discovery periods to avoid network congestion collapse). [00059] In one embodiment, a service announcement period and/or a service discovery period are calculated based on multiples of a predetermined base value. However, a service discovery period may not be a multiple of a service announcement period, or vice versa. As a result, an advertiser and a discoverer can independently calculate their own service advertisement period and/or service discovery period; however, an advertiser's advertisement request is still capable of being captured by a discoverer over a period of time dependent on the specific calculation of the service advertisement period and/or the service discovery period. [00060] Figure 8 is a block diagram illustrating an electronic device according to another embodiment of the invention. For example, device 800 may be implemented as any of devices 101-103 of Figure 1. Referring to Figure 8, similar to device 200 of Figure 2, device 800 includes, but is not limited to, a service announcement unit 201, service discovery unit 202, user interface unit 203, service management unit 204, storage device 205 for storing service identifiers 210 and service information 211, to one or more processors or cores of processor 206, network interface unit 207, and memory 208, coupled together by means of a bus, interconnect, or mesh 209. These components have identical or similar functionality as those shown in Figure 2 and are therefore certain reference numbers are retained from figure 2. [00061] Furthermore, according to an embodiment, the device 800 includes the operating environment monitoring unit 801 and advertisement and/or discovery period or schedule calculator 802. In an embodiment, the operating environment monitoring unit 801 operation is configured to monitor the operating environment of the 800 device as well as network traffic on the network. Based on the result of the monitoring, the 802 advertisement/discovery period calculator is configured to adjust the advertisement period and/or service discovery period dynamically. For example, if the 800 device has a lower remaining battery life (monitored by the monitoring unit 801), the 802 advertisement and/or discovery period or schedule calculator may reduce the frequency of service advertisement and service discovery ( for example, increasing service announcement and/or discovery periods). Another example, if it is determined that communications channel congestion is relatively high, for example, due to a large number of devices on the network or within a predetermined proximity, the 802 advertisement and/or discovery period calculator may also adjust the service announcement and/or discovery periods accordingly. Additionally, ad and/or discovery periods can also be adjusted based on the types of apps to be shared and user behaviors (eg active users), etc. [00062] In one embodiment, a service announcement period and/or service discovery period are calculated based on one or more multiples of a predetermined base value. However, a service discovery period may not be one or more multiples of a service announcement period or vice versa. As a result, an advertiser and a discoverer can independently calculate and/or adjust the ad period and/or the discovery period based on the local environment. Furthermore, because a service announcement period is not a multiple of a service discovery period, or vice versa, each of the devices on the network can adapt its own period without establishing any communication between them based on their own perception of the network conditions explained above. [00063] Figure 9 is a timeline diagram illustrating an advertisement period and a discovery period according to an embodiment. Referring to Figure 9, timeline 900 represents an advertisement period and timeline 950 represents a discovery period. For illustration purposes, the ad period is calculated based on 3 times a predetermined base value, while the discovery period is calculated based on 4 times the predetermined base value. As shown in Figure 9, although the advertisement messages are transmitted at a different time and at a different rate than the discovery period since both the advertisement period and the discovery period are calculated based on a multiple of a value agreed upon predetermined basis, advertisement broadcast and discovery listen eventually overlap in time slices 901-903. [00064] As a result, an advertiser and/or discoverer can independently adjust the tuning factor based on the operating conditions of the individual devices. For example, if it is determined that a device's battery is running low, the tuning factor (N) can be increased to slow down ad and/or discovery activities, which in turn reduces additional power consumption and channel usage. However, increasing an advertisement period and/or discovery period can also increase the detection time to capture a specific advertisement message, which results in lower performance. [00065] According to another embodiment, a discovery period is calculated as a multiple of a dwell time (for example, the length of time the device is tuned to the advertisement message), but not as a multiple of an announcement period. In a specific embodiment, an advertisement period is configured to be a multiple of a predetermined base value (eg, 100 ms) * 2AN, where N could be any integer; a discovery period is set to be the predetermined base value * 3AM or 5AM, where M could be any integer; and a dwell time is set to be the predetermined base value (eg 100 ms) * (1+10%). Adding 10% to the on-call time ensures that the on-call time is strictly longer than the predetermined base amount. [00066] In the table below, the percentage numbers in parentheses represent the percentage of time that at least the RF frontend has to be during these specific ad/discovery periods. The announcement number is based on an approximate estimate of 2 ms for the announcement message transmission: activate the radio, claim the channel, and transmit a frame of a few microseconds. The discovery number is based on a discovery listen dwell time of 100 ms. The numbers in the main part of the table indicate how long it will take to discover a device in the worst case if the advertiser is using the ad period in the relevant column header and the discoverer is using the discovery period in the relevant row header . All times are displayed in seconds. [00067] A device that is in a static environment or that wants to drastically reduce battery usage can independently increase its discovery period and its ad period, for example, 24.3 seconds and 200 ms respectively. In this example, based on the table above, this ensures that the air time (eg the time the radio is tuned and at full power) for such a device is below 1.5% at the expense of longer time. detection (48.6 seconds in order to detect another device that optionally implements the same value). The term "static environment" refers, for example, to the case of a user who stays at home for a long period of time, and therefore will not find any change in the wireless operating environment. Similarly, a device with a large battery or that is in a dynamic environment (or that detects that it is moving) can also independently increase its discovery period, for example, to 2.5 seconds, which results in a discovery time. fast. This would be the case for a device connected with AC power. Devices that detect that they are in a crowded environment, for example if they detect more than 15 other advertisers or access points (APs), can independently increase their ad periods, which increases detection time but reduces congestion network. Increasing the ad period, for example, to 400ms, could cause the detection time to be in the range of 50 seconds for a device that is covering with a period of 12.5 seconds, and airtime in this case, it is 1.3%. This would be the case where a user might be sitting in a conference room or an open space work environment with many cubicles. [00068] Detecting the fact that a user is in motion can be done by recording the presence of some access points with a reasonably high received signal strength indicator (RSSI) across multiple discovery periods. This requires a device to hide the Basic Service Set Identifiers (BSSIDs) of certain higher RSSI APs that are detected during a discovery period. If there is no high RSSI AP detected, this indicates that the user is moving fast or is in a WiFi free environment. Advertisement period and discovery period should be adjusted lower in order to decrease detection time. If one or more of these high RSSI APs are constantly detected across multiple discovery periods (eg, associated or not associated, not roaming), then the user may be sitting at home or in a familiar place. The discovery period can be set to 200ms and the advertisement period can be increased up to a large value (for example, 24.3 seconds or 62.5 seconds). This user will not take long to detect other devices, but it will be less easily detected by mobile devices. If the room is crowded, then adjustments will have to be formed in order to reduce potential congestion, and the ad period will need to be increased. As a result, devices can be mutually discovered by being discovered more often (eg, consuming more power) or waiting longer. [00069] Figure 10 is a flow diagram illustrating a method for advertising a service according to another embodiment of the invention. It is noted that method 1000 may be executed by processing logic which may include hardware, firmware, software, or a combination thereof. For example, method 1000 can be performed by the service announcement unit 201 of Fig. 8. Referring to Fig. 10, in block 1001, current operating conditions are monitored by a local device (eg advertiser), including battery status, network traffic congestion, user behaviors, and types of services to be advertised, etc. Based on operating conditions, in block 1002, an advertisement period is dynamically adjusted accordingly. In one embodiment, the advertisement period is set as a multiple of a predetermined base value, as explained above. At block 1003, an advertisement is broadcast or multicast over a network according to the adjusted advertisement period, including one or more services that are advertised using the advertisement and service discovery techniques explained above. At block 1004, a service request is received from a remote device in response to the advertisement request, including a service indicator or identifier that identifies a service to be inquired about. In response to the service request, at block 1005, detailed information of the requested service is provided via a service response to the remote device over the network. [00070] Figure 11 is a flow diagram illustrating a method for discovering a service according to another embodiment of the invention. It is noted that method 1100 may be executed by processing logic which may include hardware, firmware, software, or a combination thereof. For example, method 1100 can be performed by the service discovery unit 202 of Fig. 8. Referring to Fig. 11, in block 1101, current operating conditions are monitored by a local device (e.g., a discoverer), including battery status, network traffic congestion, user behaviors, and types of services to be advertised, etc. Based on operating conditions, in block 1102, a discovery period is dynamically adjusted accordingly. In one embodiment, the discovery period is configured as a multiple of a predetermined base value, as explained above. In block 1103, the processing logic is periodically tuned to the network according to the set discovery period in an attempt to discover an available service in the network. In response to an advertisement received from a remote device during discovery, at block 1104, a service request is transmitted to the remote device to inquire about a service advertised in the advertisement. At block 1105, a service response is received from the remote device in response to the service request including certain detailed information of the requested service or services. Coordinated Service Announcement Achievements [00071] According to some embodiments, multiple devices that are capable of announcing one or more services can be mutually coordinated to select one or more devices to advertise the services on behalf of other devices. A device can be selected as a group advertiser according to a variety of parameters (eg a battery condition, etc.), which are monitored by the device's monitoring logic. A device can operate as a group advertiser that advertises its own services and services from other devices on the network. A device can also act as an advertiser to advertise its own services, as well as an advertiser (advertisee) featuring one or more of its services advertised by another device. A device can operate as an advertised (advertisee) only that it relies on another device to advertise its services. [00072] Figure 12 is a block diagram illustrating an electronic device according to another embodiment of the invention. For example, device 1200 may be implemented as any of devices 101-103 of Figure 1. Referring to Figure 12, similar to device 200 of Figure 2 or device 800 of Figure 8, device 1200 includes but is not limited to service announcement unit 201, service discovery unit 202, user interface unit 203, service management unit 204, storage device 205 for storing service identifiers 210 and service information 211, the one or more processors or processor cores 206, network interface unit 207, and memory 208, coupled together via bus, interconnect, or mesh 209, and an operating environment monitoring unit 801. These components may have identical or similar functionality as those shown in figures 2 and 8 and therefore certain reference numerals are retained from figures 2 and 8 for purposes of illustration. [00073] Furthermore, according to an embodiment, device 1200 further includes advertisement selection unit 1201 configured to be coordinated with other devices within a network proximity to select one or more devices as group advertisers that advertise services on behalf of others. For example, advertiser selection unit 1201 communicates with advertiser selection units of other devices within a predetermined network proximity to select or negotiate one or more devices among them to be group advertisers. One or more devices can be determined and selected based on one or more parameters or attributes, such as, for example, operating conditions and/or user behaviors, which can be monitored or collected by the monitoring unit 801. [00074] For example, when the advertiser selection unit 1201 determines that a remote device is to be selected as a group advertiser, the advertiser selection unit 1201 can instruct the service announcement unit 201 to transmit a request message service announcement (also simply referred to as an announcement request) to the selected remote device, such that the remote device can announce the services to the 1200 device. , an advertisement request may unicast a message (eg, peer-to-peer) that requests a specific remote device for advertisement. Alternatively, an advertisement request can be multicast or broadcast over the network requesting one or more remote advertisers. In one embodiment, the service advertisement request sent to the remote advertiser includes a device address 1200 (e.g. media access address or MAC address of device 1200), a number of service identifiers, current service identifiers ( for example, hashes), and availability information such as the 1200 device availability plan. As a result, when services are advertised by the remote group advertiser, a remote discoverer can directly communicate with the 1200 device to inquire one or more services that are advertised by a remote group advertiser, without having to contact the remote group advertiser. Device 1200 can continue to advertise its own services while a remote group advertiser advertises at least some of the services on behalf of device 1200. [00075] Alternatively, once the remote advertiser is selected to advertise services to device 1200, advertisement selection unit 1201 may instruct service advertisement unit 201 to stop advertising its own services and to transition device 1200 to a advertisee. Furthermore, the advertiser selection unit 1201 can simply receive a service advertisement request from a remote device and instruct the service advertisement unit 201 to execute the advertisement on behalf of the remote device as well as its own services. In this situation, an advertisement request is a unicast or multicast message (for example, specifically addressed to one or more specific devices), rather than a broadcast message (for example, sent to all devices on the network). [00076] Embodiments of this application can be applied in a situation where many devices are arranged together and participating in proximity detection (eg in a crowded conference room). In this situation, scalability is achieved by having devices that share your ads where only some devices advertise to all others. When two devices come across each other (through proximity detection explained above) and despite the fact that they may share a common service identifier (eg, hash), one of the devices may request the other to carry its own payload for example, in broadcasting an advertisement request frame directed to another device. The ad request frame does not need to be responded to; as long as the requested device complies with driving the advertising payload of the requesting device, the requested device is considered to be a group advertiser for the requesting device, and the requesting devices are then considered to be an advertisee. [00077] In one embodiment, a device can operate in one of four states: • State 0: advertiser (for example, advertising only for itself). • State 1: group advertiser (eg advertise for yourself and advertise for some other outlets) • State 2: advertiser and advertisee (eg advertised by at least one other outlet, advertising for yourself, and not advertising for other spots) • Status 3: advertisee (eg advertised by some other spots) [00078] Devices initially start in state 0, where they are only advertising their own services. This state is the default state, and shares the same basic behavior as described in the previous sections. By participating in the cooperative advertisement algorithm, devices in state 0 can be promoted to one of the additional cooperative advertisement states 1 - 3. [00079] The algorithm uses only one frame (ie the advertisement request), which is a directed frame and can be sent by a device in state 0, state 2 or state 3 to a device in state 0, state 1 or state 2. Any time multiple devices are in range of a large number of other devices participating in proximity detection, they can introduce cooperative advertising. In one embodiment, each device that implements cooperative advertising tries to find a certain number of advertisers that are capable of driving their own ad payloads, such as, for example, two or three advertisers. When an advertisee has been advertised for enough points, it may stop broadcasting its own ad frames and then only be discoverable through its remote group advertisers. An ad request may be valid for a fixed period of time (for example, several minutes) and may then be required for renewal. [00080] According to an embodiment, cooperative advertising will happen only when two devices can run into each other, that is, they are both operating in state 0, state 1 or state 2. In an embodiment, a device can be selected - set up as a group advertiser for another device based on at least some of the following considerations: 1. A device may be selected as a group advertiser if the device is not advertising for more than a predetermined number of points (for example , 16 points); 2. A device can be selected as a group advertiser if the device is currently advertising to the highest number of other points; 3. A device may be selected as a group advertiser if the device is currently advertised for the lowest number of points; 4th. A device can be selected as a group advertiser if the device advertises the greatest number of services in total; and/or 4b. A device can be selected as a group advertiser if the device has the longest battery life remaining; 5. A device can be selected as a group advertiser if the device has the highest number of service IDs; and 6. A device can be selected as a group advertiser if the device has the highest MAC address. [00081] In order to elect a device, the above clauses are evaluated sequentially and/or in parallel. For example, clauses 4a and 4b can be evaluated simultaneously. That is, a device that has an unusually high number of service IDs would most likely be selected as a group advertiser. If the number of service IDs is approximately the same, then battery usage becomes a major factor. If, on the other hand, a device has an infinite battery life (eg plugged into an AC outlet), then it would likely also be elected as a group advertiser. In one embodiment, battery usage may be encoded with two numbers representing the class of device and the amount of active time remaining on battery. Optimizing the topological distribution of cooperative advertisements is one of the goals of the algorithm. This goal is to converge to a situation where a small number of group advertisers are driving extra ad payloads to other advertisees, who will then stop the ad themselves (ie, introducing state 3). Advertisers of an advertisee can be spatially distributed around and/or close to the advertisee (eg, uniform spatial distribution of advertisers). [00082] The uniformity of the spatial distribution is achieved because multiple group advertisers who share the same advertis- see must not be able to encounter each other or may encounter each other only with a very low RSSI, ie they are not close to each other . Whenever they can mutually come across a certain level of RSSI (eg RSSI of more than half range) and they share a common advertisee, according to one embodiment, one of the group advertisers can release the additional payload for that common advertisee and stop being an advertiser for that advertisee. Furthermore, from among its surrounding points that correspond to clauses 1-6 above, a device is free to choose the closest (eg based on RSSI) as its potential group advertiser. [00083] According to some embodiments, advertisements are finite in time and need to be renewed periodically, for example, every minute or the like. They will be renewed when the corresponding advertiser transmits a new request to a group advertiser. Requests cannot be retransmitted to a particular point within a minimum amount of time, for example, within less than a few minutes. A device can request (for example, sending an ad request) to be advertised by another peer whenever the RSSI of frames it receives from the peer is between a halfway and maximum range, ie, the advertiser and advertisee are relatively close to each other. This helps to prevent situations when third-party devices are in the advertiser's range but not in the advertisee's range. [00084] In one embodiment, a device may request multiple spots to act as group advertisers, since those spots meet clauses 1-6 above. Clauses 1-6 are designed so that, within any pair of devices in the range, only one of the devices can potentially be elected as a group advertiser for the pair. Group advertisers in state 3 in a half RSSI band relative to each other can compare their additional payloads and release the redundant additional ad payloads. That is, if two group advertisers in a half RSSI band of one another share a common advertisee, then one of the advertisers must release the ad to the advertisee. Choosing a device that is released as an advertiser can also follow clauses 1-6 above. That is, a group advertiser driving the highest number of points (eg up to 16) will keep the common advertisee, whereas the group advertiser driving the least number of points will release the advertisee. It is noted that this does not require any frames to be swapped. That is, the elected group advertiser will keep the shared advertisee and do nothing; the other will silently release the advertisee. Both advertisers remain in state 3. [00085] In one embodiment, group advertisers in state 1 in a half RSSI band with respect to one another who do not share a common advertisee may also choose to cooperate, ie one of the group advertisers is elected as an advertiser of group and is elected as advertisee for the par. Advertise enters state 2 (eg releasing its own advertisees) and if advertisee reaches three points it will then release its own payload and enter state 3 (eg it stops advertising altogether). The peer advertiser can begin to drive the advertisee advertising payload, but not the additional advertisse payload. This requirement ensures that an advertisee's additional payload is not transferred from a group advertiser originally located near it to a group advertiser that could be located far away from it. Third party points that have been released need to find a new advertiser or become advertisers themselves. It is noted that this does not require any frames to be swapped either. Points released in state 2 can find another group advertiser and remain in their current state, or they can transition to state 0 and operate without a group advertiser. A device in state 3 that finds itself in a situation where it cannot find at least 2 group advertisers driving its ad payload can enter state 2 and resume streaming its own ads. A device in state 3 that cannot find any group advertisers driving its ad payload can enter state 0 and resume streaming its ads. These two transitions can occur when a group advertiser goes out of range, becomes disabled and/or when ad request times out, and all group advertisers around it are at full capacity and/or when there are not many advertisers surrounding it. Alternatively, a device in state 3 that cannot find enough group advertisers to drive its ad payload can select new group advertisers using the above rules, and, if successful, can remain in state 3. [00086] For example, a "good" situation will be when a group advertiser drives up to 16 additional payloads and one advertisee payload is driven by 2 surrounding group advertisers. The number of advertisement frames broadcast on the channel is then globally divided by 16; consequently, there will be a much lower probability of collisions. The total transmitted payload (ie, byte per second) is divided by 8. [00087] Figures 13A-13C are transactional diagrams illustrating examples of device transitions between operating states according to some embodiments of the invention. With reference to Fig. 13A, it is assumed that devices 1301-1308 are operating within a predetermined proximity, which is detected using certain techniques described above. In this example, devices 1301-1302 are operating as group announcers in state 1; 1301-1307 devices are operating as advertisees in state 3; and device 1308 is operating as an advertiser & advertisee in state 2. As can be seen in Figure 13A, device 1301 is selected as a group advertiser for device 1308 as well as devices 1303 and 1305. Device 1302 is selected as a group advertiser for devices 1304 and 1305-1307. It is assumed that devices 1301-1302, which are operating in state 1, are close to each other and may encounter each other (eg above a certain RSSI level). [00088] Based on the advertiser choice algorithm above, since device 1302 has a higher number of advertisees (for example, devices 1304 and 1305-1307) than device 1301 (for example, devices 1303, 1305 and 1308), among devices 1301-1302, device 1302 is selected as a group announcer for device 1301. As a result, as shown in Figure 1B, device 1301 transitions from state 1 to state 2, and no longer operate as an advertiser for device 1308. Subsequently, in Figure 13C, device 1308 becomes a group advertiser in state 1 and device 1301 becomes an advertisee advertised by device 1302 and 1308 due to clause 3 above ( for example, the smallest number of advertisees). [00089] When an advertiser conducts an ad for an advertisee, a group ad message will be created that includes an advertisement for their own services and the advertisee's services. Figure 14 is a block diagram illustrating a group announcement message according to an embodiment of the invention. Referring to Figure 14, group advertisement message 1400 includes an advertisement message 1401 to the advertiser itself (e.g., advertisement message for its own services), which is identical or similar to advertisement message 500 of Figure 5. In addition, the 1400 composite advertisement message includes additional advertisement messages 1402-1404, each corresponding to an advertisee. In one embodiment, the advertisement message 1410 for an advertisee (e.g. messages 1402-1404) includes the address (e.g., MAC address) of the advertisee 1411, the number of service identifiers 1412, and the current service identifiers ( eg hashes) 1413, and advertisee's 1414 availability plan. As a result, although the 1410 ad message is advertised by an advertiser, other devices can respond to the ad through direct communication with the advertisee. It is noted that the formats of the advertisement messages as shown in Figure 14 are described for illustration purposes only; other formats can also be applied. [00090] It is also noted that although a local device may select a remote device to be its group advertiser based on the operating condition of the local device in view of the operating condition of the remote device, according to one embodiment, the device The remote device may reject or ignore the advertisement request based on its own determination or assessment of the operating condition of the remote device. In this situation, unless an acknowledgment is received from the remote device, the local device may have to monitor traffic (for example, service advertisements) in the network to determine whether the selected remote device actually runs the advertisement on behalf of the local device. The local device may have to select another remote device if the remote device rejects or ignores the advertisement request. [00091] Figure 15 is a flow diagram illustrating a method for advertising a service according to another embodiment of the invention. It is noted that method 1500 may be executed by processing logic which may include hardware, firmware, software, or a combination thereof. For example, method 1500 may be performed by the advertisement unit 201 and/or advertiser selection unit 1201 of Figure 12. Referring to Figure 15, at block 1501 a local device is tuned to a wireless network to determine a or more remote devices that are capable of advertising one or more services on the network. At block 1502, the local device compares certain predetermined operating statistics and/or settings of the local and remote devices. At block 1503, the local device selects one or more remote devices based on the comparison to advertise one or more services of the local device. At block 1504, the home device broadcasts an advertisement request to the selected remote devices requesting the advertisement on behalf of the home device, including identifiers (eg, hashes) of one or more services to be advertised. The device then waits until it detects that the request has been accepted by considering its services in the next group announcement message from the remote device, or by waiting for a successful announcement response in block 1505. If the request fails, the electronic device will check if there are other remote devices that could serve as a group advertiser. If so, it will go to block 1501 and retry the procedure with a different device. If not, it will stop the procedure. If the request is successful, it continues to block 1505. At block 1505, the local device optionally ends advertising its own services and relies on the selected remote devices to advertise its services. [00092] Figure 16 is a flow diagram illustrating a method for advertising a service according to another embodiment of the invention. It is noted that method 1600 may be executed by processing logic which may include hardware, firmware, software, or a combination thereof. For example, method 1600 can be performed by advertisement unit 201 and/or advertiser selection unit 1201 of Fig. 12. Referring to Fig. 16, in block 1601, an advertisement request is received from a remote device, including the service IDs for one or more services to be advertised. At block 1602, the device compares certain predetermined operating statistics and/or current device and request settings to verify that the request was valid. If not, it can transmit an announcement response indicating failure at block 1606 and then go to block 1602. If so, it can transmit an announcement response indicating success, then continue to block 1604. At block 1604, the logic Processing constructs a group advertisement message presenting advertisement of a local service and advertisement of one or more services requested from the remote device. At block 1605, the local device periodically broadcasts the composite advertisement frame on the network. [00093] Figure 17 is a flow diagram illustrating a method for selecting a device as a group advertiser according to an embodiment of the invention. Referring to Fig. 17, at block 701, a device may be selected as a group advertiser if the device is not currently advertising to more than a predetermined number of other points. At block 1702, a device may be selected as a group advertiser if the device is currently advertising to the greatest number of other points. In block 1703, a device may be selected as a group advertiser if the device is currently being advertised (eg as an advertisee) for the fewest number of other points. In block 1704, a device can be selected as a group advertiser if the device currently advertises the highest number of services in total or, alternatively, if the device has the longest remaining battery life. In block 1705, a device can be selected as a group advertiser if the device currently has the highest number of service IDs. In block 1706, a device can be selected as a group advertiser if the device currently has the highest MAC (Media Access Control) address. It is noted that the operations involved in blocks 1701-1706 can be performed sequentially and/or in parallel, without any specific order. Other factors can also be considered here. [00094] The techniques described throughout this application can be applied to various scenarios or situations. Services may be advertised and/or discovered based on detecting the proximity of handheld devices using some of the techniques described above. This feature allows users of handheld devices to permanently advertise one or more services over a wireless network protocol and detect if the handheld devices are moving within range of another handheld device that is advertising one of those services. The term "permanently" refers to the fact that the ad may be open or available for a period of time without additional interaction from the device's local user (eg, the advertiser). [00095] For example, a player (eg a chess or poker player, etc.) can easily connect to any internet site or social gaming network and play against any available opponent. Such a user may never meet the opponent in person, but meet (discover) through the network. In this scenario, a handheld user who is looking for opponents would broadcast an advertisement for a specific game on the network. The advertisement may be generated by a game application and may include additional information such as user rating as a player, desired rating of an opponent, desired type of game, etc. As soon as users get on track of someone else who is advertising the same game, both users can be alerted (eg by an alarm, vibration, etc.) and can be mutually connected to play. Proximity also means that users play with other users they can effectively meet in person versus playing against random opponents over the network. [00096] The techniques described above can also be applied to sharing content or files permanently (eg available for a period of time). This is similar to exporting certain content (eg images) from a portable device, but this is done in an ad hoc manner over a peer-to-peer link. For example, a user who attends a conference (or a party or is present on a university campus) will be able to share an image or a document, and may keep this share "open" for a period of time (for example, one day or for the entire conference or party). Any colleague or friend who can be authenticated/paired with the user's device will be able to circulate (eg within the vicinity) and access (eg download) the image or document. [00097] If the owner of the shared content allows, and is dependent on certain configuration of the corresponding device (eg advertiser), the content can be shared without requiring the owner's interaction (eg alerting or requesting permission, etc.). ) to create a peer-to-peer connection. From the user's point of view, this means that someone can take a picture of an event and circle the entire day continuously broadcasting the image. [00098] When two or more devices are coupled together through a network and within a predetermined proximity, the devices can discover each other about the network as well as the services available to each other. If the devices can determine that they support a common application capable of multiple devices (for example, by a matching service ID), such as a multiplayer game, each of the devices can be configured to run one or more distributed functionality. of the application capable of multiple devices. A distributed functionality is an application functionality capable of multiple devices that is assigned to one or more different devices that can perform the distributed functionality substantially simultaneously. Distributed functionality can include input, output and computation, etc. Each device can collaborate with other devices to perform its distributed functionality. Furthermore, some of the devices may collaborate with each other to run the same distributed functionality. In other words, each device can take on a specific role in running the application capable of multiple devices, and has a relationship to other devices based on its role. Furthermore, such roles and relationships can be dynamically modified in response to the addition of a device to the network, the removal of devices from the network, the current state of application execution, and/or user input, etc. [00099] In this example, at least part of an application capable of multiple devices is shared among multiple devices over a network. To share the multi-device capable app, all or part of the multi-device capable app can be pre-installed on the same devices or all devices on the network, where the multi-device capable app can be identified by a service ID explained above . Alternatively, one or more devices may stream all or part of the multi-device capable application to other devices on the network in order to share the multi-device capable application. As a result, distributed functionality is performed in a collaborative manner. Additional detailed information regarding techniques for distributed functionality collaborated by multiple devices can be found in copending US Patent Application No. 12/479,586 entitled "Multifunctional Devices as Virtual Accessories", filed June 5, 2009, which is incorporated herein for reference in its entirety. Sample Data Processing System [000100] Figure 18 shows an example of a data processing system that can be used with an embodiment of the present invention. For example, system 1800 can be implemented as any of devices 101-103, as shown in Figure 1. Data processing system 1800 shown in Figure 18 includes a processing system 1811, which may be one or more microprocessors. , or that it may be a system on an integrated circuit chip, and the system also includes a memory 1801 for storing data and programs for execution by the processing system. The 1800 system also includes an 1805 audio input/output subsystem that may include a microphone and a speaker to, for example, play music or provide telephone functionality through the speaker and microphone. [000101] An 1807 video controller and video device provides a visual user interface to the user; this digital interface may include a graphical user interface that is similar to that shown on an iPhone® telephone device, an iPad device, or a Macintosh computer when operating system software is running. The 1800 system also includes one or more 1803 wireless transceivers to communicate with another data processing system. A wireless transceiver can be a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver, and/or a wireless cellular telephony transceiver. It will be appreciated that additional components, not shown, may also be part of system 1800 in certain embodiments, and, in certain embodiments, fewer components than shown in Figure 18 may also be used in a data processing system. [000102] The data processing system 1800 also includes one or more input devices 1813 that are provided to allow a user to provide input to the system. These input devices can be a keypad, a keyboard, a touch panel, or a multi-touch panel. The 1800 data processing system also includes an optional 1815 input/output device that can be a connector for a plug-in connection. It will be appreciated that one or more bars, not shown, can be used to interconnect the various components, as is well known in the art. The data processing system shown in Figure 18 may be a handheld computer or a personal digital assistant (PDA), or a cell phone with PDA-like functionality, or a handheld computer that includes a cell phone, or a computer player. media, such as an iPod, or devices that combine aspects or functions of these devices, such as a media player combined with a PDA and a cell phone in one device. In other embodiments, data processing system 1800 may be a network computer or a processing device embedded within another device, or other types of data processing systems that have fewer components or perhaps more components than that. in figure 18. [000103] At least certain embodiments of the inventions may be part of a digital media player, such as a portable video and/or music media player, which may include a media processing system to present the media, a device for storing the media and may additionally include a radio frequency (RF) transceiver (e.g., an RF transceiver for a cellular telephone) coupled with an antenna system and the media processing system. In certain embodiments, media stored on a remote storage device can be transmitted to the media player via the RF transceiver. The media can be, for example, one or more of music or other audio, still images, or motion pictures. [000104] The portable media player may include a media selection device, such as a click wheel input device on an iPod®, or iPod Nano® media player from Apple Inc. of Cupertino, CA, a device touch or touch screen input device, a push-button device, a mobile pointing input device, or other input device. The media selection device can be used to select media stored on the storage device and/or a remote storage device. The portable media player may, in at least certain embodiments, include a video device that is coupled to the media processing system to display titles or other media indicators that are selected through the input device and that is presented, either through from a speaker or headphone(s), either on the video device, or on both the video device and a speaker or headphone(s). [000105] Some parts of the foregoing detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer's memory. These algorithmic descriptions and representations are the ways used by those versed in data processing techniques to most effectively convey the substance of their work to others versed in the art. An algorithm is here, and in general, designed to be a self-consistent sequence of operations that lead to a desired result. Operations are those that require physical manipulations of physical quantities. In general, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has sometimes been considered convenient, mainly for reasons of common usage, to refer to these signs as bits, values, elements, symbols, characters, terms, numbers, or the like. [000106] It should be kept in mind, however, that all of these terms and similar terms must be associated with appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically mentioned otherwise as evident from the above discussion, it is appreciated that throughout the description, discussions using terms such as those explained in the embodiments refer to the action and processes of a computer system, or similar electronic computing device, which manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's memories or registers or other devices information storage, transmission or video. [000107] Embodiments of the invention also refer to an apparatus for performing the operations. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored on the computer. Such a computer program can be stored on a computer-readable medium. A computer-readable medium includes any mechanism for storing information in a machine-readable form (eg, a computer). For example, a machine-readable medium (and, computer-readable includes a machine-readable storage device (eg, a computer) (eg, read-only memory ("ROM"), random access memory ("RAM") "), magnetic disk storage media, optical storage media, flash memory devices, etc.), etc. [000108] The algorithms and images presented here do not inherently refer to any specific computer or other device. Various general purpose systems can be used with programs in accordance with the teachings, or it may be considered convenient to build a more specialized apparatus to carry out the required operations of the method. The structure required for a variety of these systems will emerge from the description above. Furthermore, embodiments of the present invention are not described with reference to any programming language. It will be appreciated that a variety of programming languages can be used to implement the teachings of embodiments of the invention as described herein. [000109] In the foregoing specification, embodiments of the invention have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications can be made thereto without departing from the broader spirit and scope of the invention as explained in the embodiments. The specification and drawings are therefore considered in an illustrative rather than a restrictive sense.
权利要求:
Claims (15) [0001] 1. Machine-implemented method to advertise a service in a peer-to-peer network environment, the method comprising the steps of: monitoring operating conditions of a local device coupled to a wireless network, characterized in that it further comprises : dynamically adjusting an advertisement period based on the operating conditions of the local device, wherein the local device advertisement period comprises a time interval between successive transmissions of an advertisement by the local device; and transmitting, by the home device, a service announcement on the wireless network in accordance with the adjusted announcement period, the service announcement including one or more service identifiers to identify one or more services to be advertised from the home device. [0002] 2. Method according to claim 1, characterized in that the advertisement transmission period is dynamically adjusted based on at least a local device battery condition, a local device user behavior, a traffic condition network, or a type of service to be advertised. [0003] 3. Method according to claim 1, characterized in that it additionally comprises: dynamically adjusting a discovery period based on the operating conditions of the local device; and tune, by the local device, to the wireless network according to the set discovery period in an attempt to receive a service announcement from a remote device over the wireless network. [0004] 4. Method according to claim 3, characterized in that the discovery period is dynamically adjusted based on at least a local device battery condition, a local device user behavior, a network traffic condition , or a type of service to be discovered. [0005] 5. Method according to claim 3, characterized in that the advertising period is calculated as a product of a predetermined base value and a first adjustment factor, and wherein the advertising period is dynamically adjusted with the adjustment of the first adjustment factor. [0006] 6. Method according to claim 5, characterized in that the discovery period is calculated as a product of the predetermined base value and a second adjustment factor that is different from the first adjustment factor, and in which the period The discovery rate is dynamically adjusted by adjusting the second adjustment factor. [0007] 7. Portable device comprising: a wireless transceiver; a monitor coupled to the wireless transceiver for monitoring the operating conditions of the handheld device coupled to a wireless network, characterized in that it further comprises: a service announcement unit coupled to the monitor and the wireless transceiver to dynamically adjust a period announcement period based on operating conditions of the portable device, wherein the advertisement period of the local device comprises a time interval between successive transmissions of an advertisement by the local device, and wherein the service announcement unit is configured to transmit from according to the adjusted announcement period, via the wireless transceiver, a service announcement on the wireless network, the service announcement including one or more service identifiers (IDs) that identify one or more services to be advertised. [0008] 8. Portable device according to claim 7, characterized in that it additionally comprises a service discovery unit coupled to the monitor and wireless transceiver to dynamically adjust a discovery period based on the operating conditions of the device location, and tune to the wireless network through the wireless transceiver, according to the discovery period set in an attempt to receive a service advertisement from a remote device over a wireless network. [0009] 9. Portable device, according to claim 8, characterized by the fact that at least one of the advertisement period and the discovery period is dynamically adjusted based on at least one battery condition of the local device, a behavior device user name, a network traffic condition, or a type of service to be advertised or discovered. [0010] 10. Portable device according to claim 8, characterized in that the advertising period is calculated as a product of a predetermined base value and a first adjustment factor, and in that the advertising period is dynamically adjusted by the adjustment of the first adjustment factor. [0011] 11. Portable device according to claim 10, characterized in that the discovery period is calculated as a product of the predetermined base value and a second adjustment factor which is different from that first adjustment factor, and in which the discovery period is dynamically adjusted by adjusting the second adjustment factor. [0012] 12. Machine-implemented method to discover a service in a peer-to-peer network environment, comprising the steps of: determining the operating conditions of a local device coupled to a wireless network, characterized by the fact that it further comprises: dynamically adjust a discovery period based on local device operating conditions, where the local device discovery period comprises a time interval between successive service discovery attempts by the local device, where the local device discovery period and an announcement period from a remote device are multiples of the same predetermined base value; and tune, by the local device, to the wireless network according to the set discovery period in an attempt to receive a service announcement from a remote device over the wireless network. [0013] 13. Method according to claim 12, characterized in that it further comprises: dynamically adjusting an announcement period based on the operating conditions of the local device; and transmit, by the home device, a service announcement on the wireless network in accordance with the adjusted announcement period, the service announcement including one or more service identifiers (IDs) that identify one or more services to be advertised from the home device . [0014] 14. Portable device comprising: a wireless transceiver; a monitor coupled to the wireless transceiver to determine the operating conditions of the portable device, characterized in that a portable device discovery period comprises an interval time between successive service discovery attempts by the portable device, wherein the period of handheld device discovery and a remote device announcement period are multiples of the same predetermined base value; and a service discovery unit coupled to the monitor and wireless transceiver to dynamically adjust the discovery period based on operating conditions, the service discovery unit being configured to tune to the wireless network according to the period. discovery set in an attempt to discover a service advertised by the remote device over a wireless network. [0015] 15. Portable device according to claim 14, characterized in that it further comprises a service announcement unit coupled to the monitor and the wireless transceiver to dynamically adjust an announcement period based on operating conditions, and transmit a service announcement on the wireless network in accordance with the adjusted announcement period, the service announcement including one or more service identifiers (IDs) that identify one or more services to be advertised.
类似技术:
公开号 | 公开日 | 专利标题 BR112012017735B1|2021-05-25|machine-implemented method for advertising a service in a peer-to-peer and handheld network environment US8819219B2|2014-08-26|Efficient service advertisement and discovery in multiple wireless networks JP6235135B2|2017-11-22|System and method for establishing synchronization across multiple networks and participating STAs via operation on a known common channel JP6321155B2|2018-05-09|System and method for identifying service mesh JP6275925B2|2018-02-07|Communication between devices in a neighbor aware network JP6321295B2|2018-05-09|Communication between devices in a neighbor aware network EP3073703A1|2016-09-28|Method and system for sharing music and other audio content among mobile devices EP3008930B1|2019-07-24|Framework and applications for proximity-based social interaction TW202110266A|2021-03-01|Directed forwarding information sharing between devices in a mesh network
同族专利:
公开号 | 公开日 AU2010341704B2|2014-08-28| EP2517440B1|2018-03-28| AU2010341705A1|2012-05-17| CN102652424A|2012-08-29| WO2011087639A1|2011-07-21| US10230596B2|2019-03-12| WO2011087638A1|2011-07-21| EP2517441B1|2020-04-08| BR112012017735A2|2016-09-13| KR101462322B1|2014-11-14| KR20120094946A|2012-08-27| JP5782455B2|2015-09-24| US9391853B2|2016-07-12| AU2010341705B2|2014-08-14| US20140059369A1|2014-02-27| US20160198511A1|2016-07-07| US9306813B2|2016-04-05| MX2012007344A|2012-07-20| US20110154084A1|2011-06-23| JP2013515443A|2013-05-02| KR101393988B1|2014-05-12| CN102668510B|2015-12-09| US20120117400A1|2012-05-10| AU2010341704A1|2012-05-03| US8327178B2|2012-12-04| KR20120094947A|2012-08-27| BR112012018380A2|2020-08-25| WO2011087640A1|2011-07-21| JP5638624B2|2014-12-10| US20110153789A1|2011-06-23| MX2012007342A|2012-07-20| CN102652424B|2016-01-20| JP2013514738A|2013-04-25| CN102668510A|2012-09-12| US20110153773A1|2011-06-23| US8533507B2|2013-09-10| EP2517441A1|2012-10-31| EP2517440A1|2012-10-31|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5862325A|1996-02-29|1999-01-19|Intermind Corporation|Computer-based communication system and method using metadata defining a control structure| US8266266B2|1998-12-08|2012-09-11|Nomadix, Inc.|Systems and methods for providing dynamic network authorization, authentication and accounting| EP1022876B1|1999-01-25|2006-04-19|International Business Machines Corporation|Service advertisements in wireless local networks| US6604140B1|1999-03-31|2003-08-05|International Business Machines Corporation|Service framework for computing devices| US6466549B1|1999-04-12|2002-10-15|Intel Corporation|Broadcast discovery in a network having one or more 1394 buses| DE60019750T2|1999-06-11|2005-09-29|Microsoft Corp., Redmond|GENERAL DEVICE REMOTE API| US6775244B1|1999-06-21|2004-08-10|Intel Corporation|Gathering of device discovery information| US6829475B1|1999-09-22|2004-12-07|Motorola, Inc.|Method and apparatus for saving enhanced information contained in content sent to a wireless communication device| US6691169B1|2000-02-01|2004-02-10|At&T Corp.|Method and apparatus for detecting route advertisement violations in a network of interconnected peers| JP2001359004A|2000-06-09|2001-12-26|Matsushita Electric Ind Co Ltd|Video recording reservation system and method| US7383574B2|2000-11-22|2008-06-03|Hewlett Packard Development Company L.P.|Method and system for limiting the impact of undesirable behavior of computers on a shared data network| JP2002186009A|2000-12-12|2002-06-28|Ntt Docomo Inc|Cell search method for wireless mobile device and the wireless mobile device| WO2002057917A2|2001-01-22|2002-07-25|Sun Microsystems, Inc.|Peer-to-peer network computing platform| US6993326B2|2001-04-02|2006-01-31|Bellsouth Intellectual Property Corporation|System and method for providing short message targeted advertisements over a wireless communications network| US7185352B2|2001-05-11|2007-02-27|Intel Corporation|Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform| US6961560B2|2001-05-23|2005-11-01|International Business Machines Corporation|Method and device for prompt and efficient service discovery in wireless networks| US6842460B1|2001-06-27|2005-01-11|Nokia Corporation|Ad hoc network discovery menu| US7426393B2|2001-11-19|2008-09-16|Nokia Corporation|Method and system of identifying network services| US20030104782A1|2001-11-30|2003-06-05|Palm, Inc.|Object tagging system and method| US7237007B2|2001-12-05|2007-06-26|Qualcomm Incorporated|Method and system for flow control between a base station controller and a base transceiver station| US7249182B1|2002-02-27|2007-07-24|Nokia Corporation|Personal profile sharing and management for short-range wireless terminals| JP2003345685A|2002-05-22|2003-12-05|Seiko Epson Corp|Device sharing system, device managing terminal, gateway terminal, device, program for terminal and program for device, and device sharing service providing method| US20040003058A1|2002-06-26|2004-01-01|Nokia, Inc.|Integration of service registration and discovery in networks| US7533161B2|2002-08-08|2009-05-12|Sun Microsystems, Inc.|System and method for multiplatform implementation of abstract software modules in peer-to-peer network environments| US7263560B2|2002-08-30|2007-08-28|Sun Microsystems, Inc.|Decentralized peer-to-peer advertisement| US8086245B2|2002-09-12|2011-12-27|Broadcom Corporation|Advertising and controlling the advertisement of wireless hot spots| US7349965B1|2002-09-13|2008-03-25|Hewlett-Packard Development Company, L.P.|Automated advertising and matching of data center resource capabilities| US7657597B2|2002-09-26|2010-02-02|Sun Microsystems, Inc.|Instant messaging using distributed indexes| US7281058B1|2002-10-09|2007-10-09|Juniper Networks, Inc.|Delivering and receiving multicast content across a unicast network| US8108455B2|2002-10-31|2012-01-31|Oracle America, Inc.|Mobile agents in peer-to-peer networks| US7345628B2|2002-12-16|2008-03-18|Koninklijke Philips Electronics N.V.|Location dependent display of information for GPS devices| US7533141B2|2003-01-24|2009-05-12|Sun Microsystems, Inc.|System and method for unique naming of resources in networked environments| US7774495B2|2003-02-13|2010-08-10|Oracle America, Inc,|Infrastructure for accessing a peer-to-peer network environment| DE60301198T2|2003-03-28|2006-06-01|Nortel Networks Ltd., St. Laurent|Inserting a hash-coded service identifier into a paging message for a service group call| US7457973B2|2003-06-20|2008-11-25|Texas Instruments Incorporated|System and method for prioritizing data transmission and transmitting scheduled wake-up times to network stations based on downlink transmission duration| US7586864B2|2003-09-30|2009-09-08|Sharp Kabushiki Kaisha|Communication system, base station, terminal, communication device, communication management method, control program, and computer-readable recording medium containing the same| JP3701663B2|2003-09-30|2005-10-05|シャープ株式会社|COMMUNICATION SYSTEM, TERMINAL STATION, COMMUNICATION MANAGEMENT METHOD, CONTROL PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE SAME| US7403512B2|2003-10-14|2008-07-22|Intel Corporation|Service discovery architecture and method for wireless networks| US8321534B1|2003-10-15|2012-11-27|Radix Holdings, Llc|System and method for synchronization based on preferences| US7525974B2|2003-11-10|2009-04-28|Nortel Networks Limited|Method and apparatus for capability based addressing in a communications network| AT429107T|2003-12-10|2009-05-15|Sony Deutschland Gmbh|PROTOCOL FOR MULTI-HOP AD-HOC NETWORKS| EP1545052B1|2003-12-15|2008-01-30|Alcatel Lucent|Method for waking up a plurality of sleeping devices, a related network element and a related waking device| US20050177616A1|2003-12-19|2005-08-11|N2 Broadband, Inc.|Method and system for distributing services in a digital asset environment| US8051463B2|2004-08-18|2011-11-01|Broadcom Corporation|Method and system for distribution of configuration information among access points in a wireless local area network across a distribution system | DE112004003043T5|2004-09-30|2007-12-06|Avaya Canada Corp., Halifax|System and method for announcing and locating services in a distributed peer-to-peer network| US7428229B2|2004-12-28|2008-09-23|Motorola, Inc.|Ad hoc cluster idle node coordination| US20060172697A1|2005-02-02|2006-08-03|Gallego Fernando P|Information broadcasting and support system using mobile devices| US7493413B2|2005-03-15|2009-02-17|Microsoft Corporation|APIS to build peer to peer messaging applications| US20060258341A1|2005-05-13|2006-11-16|Microsoft Corporation|Mobile internet services discovery and/or provisioning| US8281025B2|2005-06-13|2012-10-02|Hewlett-Packard Development Company, L.P.|Contemporaneous peer-to-peer multicast data distribution| US20070043591A1|2005-08-03|2007-02-22|Attila Meretei|Systems and methods for sensing physiologic parameters of the human body and achieving a therapeutic effect| WO2007024918A2|2005-08-23|2007-03-01|Matsushita Electric Industrial Co., Ltd.|System and method for service discovery in a computer network using dynamic proxy and data dissemination| US8576846B2|2005-10-05|2013-11-05|Qualcomm Incorporated|Peer-to-peer communication in ad hoc wireless network| US7756094B2|2005-11-10|2010-07-13|The Boeing Company|Interoperable mobile ad hoc network| US7623472B2|2005-11-14|2009-11-24|Lsi Corporation|Dynamic peer application discovery| US7613426B2|2005-12-20|2009-11-03|Microsoft Corporation|Proximity service discovery in wireless networks| KR101221706B1|2006-01-25|2013-01-11|삼성전자주식회사|Transmitting/receiving apparatus and method for supporting multiple input multiple output technology in a forward link of a high rate packet data system| WO2007089023A1|2006-01-31|2007-08-09|Matsushita Electric Industrial Co., Ltd.|Method for selective service updates for communication networks| US7633897B2|2006-02-03|2009-12-15|Qualcomm Incorporated|Method and apparatus for the discovery of radio access network elements and exchange of capability and data attributes between those elements| CN101438256B|2006-03-07|2011-12-21|索尼株式会社|Information processing device, information communication system, information processing method| US8085699B2|2006-03-08|2011-12-27|Nec Corporation|Changing period to monitor arrival of beacon signal based on determination as to whether there is a high connection probability| US7711004B2|2006-04-18|2010-05-04|Cisco Technology, Inc.|Multiple broadcast channels for wireless networks| US20070250726A1|2006-04-24|2007-10-25|Rossetti David A|Method of controlling wakeup frequency in a wireless communication system| KR101289601B1|2006-05-10|2013-08-07|인터디지탈 테크날러지 코포레이션|Method and apparatus for battery management in a converged wireless transmit/receive unit| US20070264991A1|2006-05-15|2007-11-15|Microsoft Corporation|Services near me: discovering and connecting to available wireless services utilizing proximity discovery| US7613156B2|2006-06-08|2009-11-03|Motorola, Inc.|Method for energy efficient prospective peer discovery in an ad hoc network| US20070286100A1|2006-06-09|2007-12-13|Mika Juhani Saaranen|Local discovery of mobile network services| US7760676B2|2006-06-20|2010-07-20|Intel Corporation|Adaptive DRX cycle length based on available battery power| US8700105B2|2006-06-22|2014-04-15|Qualcomm Incorporated|Low duty cycle device protocol| US7899964B2|2006-07-13|2011-03-01|Samsung Electronics Co., Ltd.|Method and system for providing universal plug and play resource surrogates| US20080052340A1|2006-08-28|2008-02-28|Motorola, Inc.|Method and system for content advertising in ad hoc networks| US8369800B2|2006-09-15|2013-02-05|Qualcomm Incorporated|Methods and apparatus related to power control and/or interference management in a mixed wireless communications system| US7848263B2|2006-11-28|2010-12-07|Marvell International, Ltd.|Simplified auto-configuration and service discovery in ad-hoc networks| US7734717B2|2006-12-05|2010-06-08|Nokia Corporation|Software distribution via peer-to-peer networks| US8995815B2|2006-12-13|2015-03-31|Quickplay Media Inc.|Mobile media pause and resume| US20120143383A1|2007-02-02|2012-06-07|Inovus Solar, Inc.|Energy-efficient utility system utilizing solar-power| US20080235112A1|2007-03-22|2008-09-25|Peter Montoya|Website, system for and method of providing marketing material for securities to authorized users & method of selling access to, including the right to copy and distribute copied marketing material| EP3024289B1|2007-06-04|2017-05-31|Sony Corporation|Communication system, communication apparatus and communication method, and computer program| GB2450167B|2007-06-18|2009-07-29|Nec Corp|Discontinuous Reception In A Mobile Radio Communications Network| KR101495536B1|2007-06-22|2015-02-25|삼성전자주식회사|Method and apparatus for providing dynamically changed description of Universal Plug and Play| US8601156B2|2007-07-06|2013-12-03|Qualcomm Incorporated|Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications| US7920849B2|2007-07-13|2011-04-05|Pop Adrian|Method and system for providing advertisements/messages based on wireless data communication technology| US8553623B2|2007-07-20|2013-10-08|Broadcom Corporation|Method and system for utilizing standardized interface in a wireless device to discover and use local and remote resources| US7974574B2|2007-07-25|2011-07-05|Microsoft Corporation|Base station initiated proximity service discovery and connection establishment| US9386557B2|2007-08-13|2016-07-05|Qualcomm Incorporated|Method and apparatus for supporting broadcast and multicast services in a wireless communication system| US8583753B1|2007-09-07|2013-11-12|Cisco Technology, Inc.|Service advertisements for a network| US8140062B1|2007-09-12|2012-03-20|Oceans' Edge, Inc.|Mobile device monitoring and control system| US8711034B2|2007-10-02|2014-04-29|Ricoh Co., Ltd.|Geographically self-labeling access points| US20090161579A1|2007-12-20|2009-06-25|Mika Saaranen|Method, system, and apparatus for implementing network capable input devices| US8588816B2|2007-12-21|2013-11-19|Qualcomm Incorporated|Systems and methods for targeted advertising on wireless devices based on device location and current user interests| US8824378B2|2008-02-01|2014-09-02|Maarten Menzo Wentink|Unscheduled peer power save mode| US8897742B2|2009-11-13|2014-11-25|William J. Johnson|System and method for sudden proximal user interface| US8634796B2|2008-03-14|2014-01-21|William J. Johnson|System and method for location based exchanges of data facilitating distributed location applications| US20090240794A1|2008-03-20|2009-09-24|Huaiyu Liu|Techniques utilizing a layer-2 proxy for energy-efficient service discovery and connectivity in networks| US20090248503A1|2008-03-25|2009-10-01|International Business Machines Corporation|Systems, methods and computer products for a personal portable advertising and messaging agent| US9088946B2|2008-04-30|2015-07-21|Qualcomm Incorporated|Methods and apparatus for power saving for mesh nodes| US9445253B2|2008-04-30|2016-09-13|Maarten Menzo Wentink|Methods and apparatus for scanning for mesh nodes| US8971955B2|2008-05-11|2015-03-03|Qualcomm Incorporated|Systems and methods for multi-mode terminal operations in overlaid networks| US8032072B2|2008-06-19|2011-10-04|Visteon Global Technologies, Inc.|System for downloading audio content| EP2319226B1|2008-07-11|2018-04-11|Marvell World Trade Ltd.|Service discovery methods| US7836164B2|2008-09-02|2010-11-16|Sony Corporation|Extensible network discovery subsystem| US7987241B2|2008-10-15|2011-07-26|Xerox Corporation|Sharing EIP service applications across a fleet of multi-function document reproduction devices in a peer-aware network| US8971862B2|2008-11-04|2015-03-03|International Business Machines Corporation|Location based routing and advertising for streamed media and media blocking| US20100138007A1|2008-11-21|2010-06-03|Qwebl, Inc.|Apparatus and method for integration and setup of home automation| KR20100072718A|2008-12-22|2010-07-01|삼성전자주식회사|Method and apparatus for receiving broadcast data| US20100191552A1|2009-01-27|2010-07-29|Patrick Behrens|Apparatus, method and article to facilitate propagation of current appointment availability in a network environment| US8073014B2|2009-03-02|2011-12-06|Motorola Mobility, Inc.|Method and apparatus for synchronizing nodes| US20100233960A1|2009-03-16|2010-09-16|Brian Tucker|Service discovery functionalityutilizing personal area network protocols| US8194576B2|2009-03-27|2012-06-05|Research In Motion Limited|Wireless access point methods and apparatus using dynamically-activated service intervals| US8605625B2|2009-04-02|2013-12-10|Qualcomm Incorporated|Methods and apparatus for peer discovery in a communications system| JP5417980B2|2009-05-14|2014-02-19|富士ゼロックス株式会社|Information processing apparatus and program| US20100306249A1|2009-05-27|2010-12-02|James Hill|Social network systems and methods| US8458353B2|2009-08-13|2013-06-04|Qualcomm Incorporated|Method and apparatus for link aggregation in a heterogeneous communication system| US8478820B2|2009-08-26|2013-07-02|Qualcomm Incorporated|Methods and systems for service discovery management in peer-to-peer networks| US8458500B2|2009-11-30|2013-06-04|International Business Machines Corporation|Server allocation to workload based on energy profiles| US9306813B2|2009-12-23|2016-04-05|Apple Inc.|Efficient service advertisement and discovery in a peer-to-peer networking environment with cooperative advertisement| US8819219B2|2009-12-23|2014-08-26|Apple Inc.|Efficient service advertisement and discovery in multiple wireless networks| US20120095845A1|2010-08-11|2012-04-19|Vertical Ground, LLC|Method and system for distributed marketing displays on highway signage| US20120185325A1|2011-01-19|2012-07-19|Vertical Ground, LLC|Method and system for distributed marketing displays on municipal parking meters| US20120197715A1|2011-01-31|2012-08-02|Vertical Ground, LLC|Method and system for distributed marketing displays on municipal gratings| US20130055326A1|2011-08-30|2013-02-28|Microsoft Corporation|Techniques for dynamic switching between coded bitstreams| US9710821B2|2011-09-15|2017-07-18|Stephan HEATH|Systems and methods for mobile and online payment systems for purchases related to mobile and online promotions or offers provided using impressions tracking and analysis, location information, 2D and 3D mapping, mobile mapping, social media, and user behavior and| CA2840489A1|2011-09-30|2013-04-04|Ranganath C. ABEYWEERA|Method, system and apparatus for a communications client program and an associated transfer server for onymous and secure communications| US9516615B2|2011-11-18|2016-12-06|Apple Inc.|Selection of synchronization stations in a peer-to-peer network environment| WO2013101765A1|2011-12-27|2013-07-04|Cisco Technology, Inc.|System and method for management of network-based services| US9418372B2|2012-05-25|2016-08-16|Apple Inc.|Advertising, discovering, and using services through virtual access point interfaces| US9661558B2|2012-06-01|2017-05-23|Apple Inc.|Service constraint advertisement and discovery| US8982762B2|2012-09-27|2015-03-17|Blackberry Limited|Methods and apparatus for use in communicating in a peer-to-peer network| US20140165094A1|2012-12-11|2014-06-12|Echostar Technologies L.L.C.|Roaming targeted advertising for a video services system| US9723464B2|2013-10-18|2017-08-01|Qualcomm Incorporated|System and method for identifying a service mesh|JPH0625395B2|1989-06-26|1994-04-06|日立金属株式会社|High-strength leadframe material and manufacturing method thereof| US5246511A|1990-05-14|1993-09-21|Hitachi Metals, Ltd.|High-strength lead frame material and method of producing same| US5147470A|1990-12-25|1992-09-15|Hitachi Metals, Ltd.|High strength lead frame material and method of producing the same| US9306813B2|2009-12-23|2016-04-05|Apple Inc.|Efficient service advertisement and discovery in a peer-to-peer networking environment with cooperative advertisement| US20110231547A1|2010-03-18|2011-09-22|Yang Ju-Ting|Search methods applied to a personal network gateway in converged personal network service systems and related converged personal network service systems and mobile devices| US8812657B2|2010-04-15|2014-08-19|Qualcomm Incorporated|Network-assisted peer discovery| US8341449B2|2010-04-16|2012-12-25|Lg Chem, Ltd.|Battery management system and method for transferring data within the battery management system| US10250678B2|2010-07-07|2019-04-02|Qualcomm Incorporated|Hybrid modes for peer discovery| US8811957B2|2010-09-03|2014-08-19|Qualcomm Incorporated|Advertising methods and apparatus for use in a wireless communications system| CN101945132A|2010-09-10|2011-01-12|华为技术有限公司|Method, equipment and method for inserting advertisements| US8954291B2|2010-09-30|2015-02-10|Fitbit, Inc.|Alarm setting and interfacing with gesture contact interfacing controls| US8712724B2|2010-09-30|2014-04-29|Fitbit, Inc.|Calendar integration methods and systems for presentation of events having combined activity and location information| US8615377B1|2010-09-30|2013-12-24|Fitbit, Inc.|Methods and systems for processing social interactive data and sharing of tracked activity associated with locations| US8738323B2|2010-09-30|2014-05-27|Fitbit, Inc.|Methods and systems for metrics analysis and interactive rendering, including events having combined activity and location information| US8694282B2|2010-09-30|2014-04-08|Fitbit, Inc.|Methods and systems for geo-location optimized tracking and updating for events having combined activity and location information| US8620617B2|2010-09-30|2013-12-31|Fitbit, Inc.|Methods and systems for interactive goal setting and recommender using events having combined activity and location information| US8738321B2|2010-09-30|2014-05-27|Fitbit, Inc.|Methods and systems for classification of geographic locations for tracked activity| US10004406B2|2010-09-30|2018-06-26|Fitbit, Inc.|Portable monitoring devices for processing applications and processing analysis of physiological conditions of a user associated with the portable monitoring device| US9390427B2|2010-09-30|2016-07-12|Fitbit, Inc.|Methods, systems and devices for automatic linking of activity tracking devices to user devices| US8954290B2|2010-09-30|2015-02-10|Fitbit, Inc.|Motion-activated display of messages on an activity monitoring device| US9148483B1|2010-09-30|2015-09-29|Fitbit, Inc.|Tracking user physical activity with multiple devices| US9241635B2|2010-09-30|2016-01-26|Fitbit, Inc.|Portable monitoring devices for processing applications and processing analysis of physiological conditions of a user associated with the portable monitoring device| US8762102B2|2010-09-30|2014-06-24|Fitbit, Inc.|Methods and systems for generation and rendering interactive events having combined activity and location information| US8762101B2|2010-09-30|2014-06-24|Fitbit, Inc.|Methods and systems for identification of event data having combined activity and location information of portable monitoring devices| US8805646B2|2010-09-30|2014-08-12|Fitbit, Inc.|Methods, systems and devices for linking user devices to activity tracking devices| US10983945B2|2010-09-30|2021-04-20|Fitbit, Inc.|Method of data synthesis| US8744803B2|2010-09-30|2014-06-03|Fitbit, Inc.|Methods, systems and devices for activity tracking device data synchronization with computing devices| US9728059B2|2013-01-15|2017-08-08|Fitbit, Inc.|Sedentary period detection utilizing a wearable electronic device| WO2012078000A2|2010-12-09|2012-06-14|엘지전자 주식회사|Access method between a terminal and a base station in a wireless communication system and apparatus thereof| US20120166515A1|2010-12-22|2012-06-28|Pradeep Iyer|Providing and Resolving an IP Address for Swarm-Based Services| US20120185335A1|2011-01-18|2012-07-19|Qualcomm Incorporated|Differentiated display of advertisements based on differentiating criteria| KR20120084464A|2011-01-20|2012-07-30|삼성전자주식회사|Method and apparatus for providing advertisement service| US20120265871A1|2011-04-18|2012-10-18|Qualcomm Innovation Center, Inc.|Multicast, client/service-attribute resolution| US9396187B2|2011-06-28|2016-07-19|Broadcom Corporation|System and method for using network equipment to provide targeted advertising| US8989280B2|2011-06-30|2015-03-24|Cable Television Laboratories, Inc.|Frame identification| US8656015B2|2011-09-12|2014-02-18|Microsoft Corporation|Detecting device presence for a layer 3 connection using layer 2 discovery information| US8799459B2|2011-09-12|2014-08-05|Microsoft Corporation|Event-driven detection of device presence for layer 3 services using layer 2 discovery information| US20130073671A1|2011-09-15|2013-03-21|Vinayak Nagpal|Offloading traffic to device-to-device communications| EP2745613A4|2011-09-22|2015-05-06|Nokia Corp|Method and apparatus for facilitating remote participance in a community| CN103037448B|2011-09-30|2015-05-27|华为技术有限公司|Content publishing method and user device| US20130132500A1|2011-11-18|2013-05-23|Apple Inc.|Selection of a master in a peer-to-peer network environment| US9516615B2|2011-11-18|2016-12-06|Apple Inc.|Selection of synchronization stations in a peer-to-peer network environment| US10271293B2|2011-11-18|2019-04-23|Apple Inc.|Group formation within a synchronized hierarchy of peer-to-peer devices| US9998945B2|2011-11-30|2018-06-12|Shailesh Patil|Methods and apparatus to change peer discovery transmission frequency based on congestion in peer-to-peer networks| US9307483B2|2011-12-14|2016-04-05|Qualcomm Incorporated|Systems and methods for transmitting and receiving discovery and paging messages| JP5891036B2|2012-01-06|2016-03-22|任天堂株式会社|COMMUNICATION SYSTEM, COMMUNICATION DEVICE, COMMUNICATION PROGRAM, AND COMMUNICATION METHOD| EP2810529B1|2012-02-03|2019-05-22|Nokia Technologies Oy|Method and apparatus for facilitating remote participance in a community| US9433025B2|2012-02-10|2016-08-30|Lg Electronics Inc.|D2D communication method according to D2D service type as well as D2D application type, and apparatus for same| EP2832072A1|2012-03-29|2015-02-04|Nokia Solutions and Networks Oy|Delivery of commercial information| US10123187B2|2012-04-17|2018-11-06|Qualcomm Incorporated|Methods and apparatus for multiplexing application identifiers for peer-to-peer discovery systems| US9253168B2|2012-04-26|2016-02-02|Fitbit, Inc.|Secure pairing of devices via pairing facilitator-intermediary device| DE102012008867B4|2012-05-07|2021-01-21|T-Mobile International Austria Gmbh|Method for improving the use of local area services in a public land-based cellular network, program and computer program product| US9418372B2|2012-05-25|2016-08-16|Apple Inc.|Advertising, discovering, and using services through virtual access point interfaces| WO2013181787A1|2012-06-04|2013-12-12|宇龙计算机通信科技有限公司|Infrastructure service information communication device and method| US9351144B2|2012-06-04|2016-05-24|Qualcomm Incorporated|Methods and apparatus for improving NFC RF discovery based on detection of other RF activity| US8892042B2|2012-06-08|2014-11-18|Apple Inc.|Immediate connection following device discovery| US9641239B2|2012-06-22|2017-05-02|Fitbit, Inc.|Adaptive data transfer using bluetooth| EP3223564B1|2012-07-06|2019-02-20|Huawei Technologies Co., Ltd.|Registering and discovering a service| US9312948B2|2012-07-09|2016-04-12|Qualcomm Incorporated|Method and apparatus for enabling wireless dockees to find and dock with a wireless docking host being used by another dockee| US8751615B2|2012-07-18|2014-06-10|Accedian Networks Inc.|Systems and methods of discovering and controlling devices without explicit addressing| CN103581239B|2012-07-27|2019-01-22|中兴通讯股份有限公司|A kind of discovery method, apparatus of equipment and service| US9210656B2|2012-07-31|2015-12-08|Qualcomm Incorporated|Listen intervalselection for WLAN client| US8904049B2|2012-08-23|2014-12-02|Lg Chem, Ltd.|Battery pack monitoring system and method for assigning a binary ID to a microprocessor in the battery pack monitoring system| CN102833858B|2012-09-06|2016-12-21|东莞宇龙通信科技有限公司|Data communication equipment and data communications method| US9258837B2|2012-09-13|2016-02-09|Telefonaktiebolaget L M Ericsson |Discovery in device-to-device communication| US9313641B2|2012-09-17|2016-04-12|Qualcomm Incorporated|System and method for advertising and communicating within a neighborhood aware network| CN102833837B|2012-09-24|2015-09-30|东莞宇龙通信科技有限公司|Data communication equipment and data communications method| JP2014081831A|2012-10-17|2014-05-08|Denso Corp|Vehicle driving assistance system using image information| US9119182B2|2012-10-19|2015-08-25|Qualcomm Incorporated|Methods and apparatus for expression use during D2D communications in a LTE based WWAN| US9147340B2|2012-10-19|2015-09-29|Intel Corporation|Apparatus and methods for hybrid service discovery| CA2890323C|2012-11-05|2018-12-04|Lg Electronics Inc.|Method for searching for or advertising service in direct communication system and device for same| RU2533310C2|2012-11-08|2014-11-20|Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд."|Auxiliary method and system of wireless signal detection by mobile devices| US9648000B2|2012-11-14|2017-05-09|Telefonaktiebolaget Lm Ericsson |Authenticating a device when connecting it to a service| CN103874047B|2012-12-17|2017-08-04|华为终端有限公司|Information on services finds method and apparatus| US20140177612A1|2012-12-21|2014-06-26|Carlos Cordeiro|Scalable wireless communication service discovery| US9326224B2|2012-12-29|2016-04-26|Intel Corporation|Methods and arrangements for advertising services in wireless networks| US8738925B1|2013-01-07|2014-05-27|Fitbit, Inc.|Wireless portable biometric device syncing| US9820131B2|2013-01-11|2017-11-14|Qualcomm Incorporated|Systems and methods for formatting frames in neighborhood aware networks| US9039614B2|2013-01-15|2015-05-26|Fitbit, Inc.|Methods, systems and devices for measuring fingertip heart rate| US8837328B2|2013-01-23|2014-09-16|Qualcomm Incorporated|Systems and methods for pre-association discovery of services on a network| EP3621272A1|2013-01-25|2020-03-11|Koninklijke KPN N.V.|Network-assisted proximity discovery, authentication and link establishment between communication mobile devices in 3gpp lte| US9397902B2|2013-01-28|2016-07-19|Rackspace Us, Inc.|Methods and systems of tracking and verifying records of system change events in a distributed network system| WO2014115396A1|2013-01-28|2014-07-31|ソニー株式会社|Wireless communication device, communication system, method for controlling wireless communication device, and program| US9813307B2|2013-01-28|2017-11-07|Rackspace Us, Inc.|Methods and systems of monitoring failures in a distributed network system| US20140222941A1|2013-02-07|2014-08-07|Google Inc.|Ad-hoc device sharing over a network| CN110380980A|2013-02-22|2019-10-25|英特尔Ip公司|System and method for accessing network selection and flow routing| KR101638349B1|2013-02-27|2016-07-11|한국전자통신연구원|Method for communicating of message based on wifi direct and apparatus performing the method| US9800389B2|2013-03-08|2017-10-24|Qualcomm Incorporated|Systems and methods for discovering and synchronizing within a neighbor aware network| CN105052050B|2013-03-11|2018-09-14|Lg 电子株式会社|Method and apparatus of the executive device to device service in a wireless communication system| EP2976864A4|2013-03-20|2016-11-09|Nokia Technologies Oy|Application recommendations| US9154934B2|2013-03-28|2015-10-06|Futurewei Technologies, Inc.|System and method for pre-association discovery| US9872227B2|2013-04-23|2018-01-16|Qualcomm Incorporated|Systems and methods for identification in a neighborhood aware network| CN104144465B|2013-05-08|2017-12-15|华为终端有限公司|A kind of service discovery method and device| US10104530B2|2013-05-08|2018-10-16|Huawei DeviceCo., Ltd.|Information query method, device, and system| CN104159299B|2013-05-15|2018-06-05|华为终端(东莞)有限公司|The transmission method and equipment of a kind of service announcement message| JP6180786B2|2013-05-17|2017-08-16|株式会社Nttドコモ|User apparatus, base station, discovery signal interval adjustment method, and user apparatus control method| US9538561B2|2013-05-22|2017-01-03|Intel IP Corporation|Systems and methods for enabling service interoperability functionality for WiFi Direct devices connected to a network via a wireless access point| US9544754B1|2013-05-28|2017-01-10|Marvell International Ltd.|Systems and methods for scheduling discovery-related communication in a wireless network| EP3005584B1|2013-05-31|2019-11-20|Intel IP Corporation|Efficient user, service, or content representation for device communication| US9143979B1|2013-06-18|2015-09-22|Marvell International Ltd.|Method and apparatus for limiting a number of mobile devices that can contend for a time slot in a wireless network| US9420044B2|2013-06-26|2016-08-16|Qualcomm Innovation Center, Inc.|Leveraging system signaling service advertisements for application-layer discovery and connection management in an internet of thingsenvironment| US20150019681A1|2013-07-10|2015-01-15|Qualcomm Innovation Center, Inc.|Active computer service solicitation| JP5967584B2|2013-07-24|2016-08-10|日本電信電話株式会社|Wireless communication system and wireless communication method thereof| KR102058876B1|2013-08-19|2019-12-26|삼성전자 주식회사|Method and apparatus for solving congestion situation in device to device communication| JP5753999B2|2013-09-12|2015-07-22|メタフロンティア合同会社|Terminal device, data processing program, and data management system| US9723545B2|2013-11-01|2017-08-01|Qualcomm Incorporated|Discovery of Wi-Fi direct services via discovery probe| US9774709B2|2013-11-18|2017-09-26|Cable Television Laboratories, Inc.|Service discovery| TWI614706B|2013-12-10|2018-02-11|深圳市華星光電技術有限公司|Operation method of portable electronic apparatus| EP3085195B1|2013-12-16|2021-10-20|Intel Corporation|Near field communication assisted device and service discovery| JP5892151B2|2013-12-18|2016-03-23|カシオ計算機株式会社|Wireless communication apparatus, wireless communication system, wireless communication method, program, and peripheral| CN104837108B|2014-02-07|2019-12-31|中兴通讯股份有限公司|Method for device-to-device broadcast communication and user equipment| EP3114820B1|2014-03-06|2019-06-26|Samsung Electronics Co., Ltd.|Method and system for establishing a service session between seeker device and advertiser device| US9461842B2|2014-04-11|2016-10-04|Avaya Inc.|Limiting network service configuration based on network service type and mode advertisements| US9936009B2|2014-05-22|2018-04-03|Qualcomm Incorporated|Systems and methods of operating a device of a data path group network| US10187770B2|2014-05-30|2019-01-22|Apple Inc.|Forwarding activity-related information from source electronic devices to companion electronic devices| US10193987B2|2014-05-30|2019-01-29|Apple Inc.|Activity continuation between electronic devices| US10055567B2|2014-05-30|2018-08-21|Apple Inc.|Proximity unlock and lock operations for electronic devices| US10237711B2|2014-05-30|2019-03-19|Apple Inc.|Dynamic types for activity continuation between electronic devices| US20150358777A1|2014-06-04|2015-12-10|Qualcomm Incorporated|Generating a location profile of an internet of things device based on augmented location information associated with one or more nearby internet of things devices| US9936452B2|2014-07-09|2018-04-03|Qualcomm Incorporated|Traffic advertisement and scheduling in a neighbor aware network data link| US9756603B2|2014-07-09|2017-09-05|Qualcomm Incorporated|Traffic advertisement and scheduling in a neighbor aware network data link| US9936479B2|2014-07-09|2018-04-03|Qualcomm Incorporated|Traffic advertisement and scheduling in a neighbor aware network data link| US9955421B2|2014-07-09|2018-04-24|Qualcomm Incorporated|Traffic advertisement and scheduling in a neighbor aware network data link| WO2016023506A1|2014-08-13|2016-02-18|Mediatek Inc.|Service discovery in a self-managed mobile communications network| US20160073249A1|2014-09-05|2016-03-10|Qualcomm Incorporated|System and method for discovering a wireless device| US20160073288A1|2014-09-09|2016-03-10|Qualcomm Incorporated|Reducing contention in a peer-to-peer data link network| US9408060B2|2014-10-14|2016-08-02|Radius Networks Inc.|Interleaving multiple bluetooth low energy advertisements| US10021644B2|2014-10-30|2018-07-10|Qualcomm Incorporated|Network discovery| KR102251326B1|2014-11-25|2021-05-12|삼성전자주식회사|Method for organizing proximity network and an electronic device thereof| EP3235298A4|2014-12-15|2018-09-12|Nokia Technologies Oy|Identifying wireless service| US20180035294A1|2015-02-16|2018-02-01|Nokia Technologies Oy|Service discovery| US20160285630A1|2015-03-23|2016-09-29|Qualcomm Incorporated|Private service identifiers in neighborhood aware networks| KR102305115B1|2015-04-02|2021-09-27|삼성전자주식회사|Apparatus and method for link setup in wireless communication system| US20160352782A1|2015-05-27|2016-12-01|Qualcomm Incorporated|Proxy advertisements in a neighbor aware network| US20160352842A1|2015-05-27|2016-12-01|Qualcomm Incorporated|Proxy advertisements in a neighbor aware network| DE102015216284A1|2015-08-26|2017-03-02|Robert Bosch Gmbh|Method for operating a gateway| JP6655913B2|2015-09-02|2020-03-04|キヤノン株式会社|Communication device, control method, and program| US10645575B2|2015-10-20|2020-05-05|Telefonaktiebolaget Lm Ericcson |User profiling prevention in personal area network communication| CN106658181B|2015-10-29|2019-07-09|北京国双科技有限公司|The sending method of user behavior data, apparatus and system| EP3369083B1|2015-10-29|2021-02-17|Nokia Technologies Oy|Method and apparatus for facilitating transmission of a proximity health alert via a local wireless network| US10080530B2|2016-02-19|2018-09-25|Fitbit, Inc.|Periodic inactivity alerts and achievement messages| US10475144B2|2016-02-26|2019-11-12|Microsoft Technology Licensing, Llc|Presenting context-based guidance using electronic signs| US10469997B2|2016-02-26|2019-11-05|Microsoft Technology Licensing, Llc|Detecting a wireless signal based on context| US10085111B2|2016-04-11|2018-09-25|Honeywell International Inc.|User access to wireless low energy device| WO2017186308A1|2016-04-29|2017-11-02|Huawei Technologies Co., Ltd.|Grouping manager and user equipments for a communication network| US10285040B2|2016-05-27|2019-05-07|Apple Inc.|Neighbor awareness networking—accelerated discovery| US10783552B2|2016-08-18|2020-09-22|At&T Mobility Ii Llc|Method and apparatus for managing advertisements| US10349259B2|2016-09-23|2019-07-09|Apple Inc.|Broadcasting a device state in a wireless communication network| CN106708923B|2016-11-09|2019-07-09|武汉大学|A kind of local cache sharing files method based on mobile collective intelligence network| JP6832794B2|2017-06-05|2021-02-24|ルネサスエレクトロニクス株式会社|Wireless communication system| EP3665912A1|2017-08-11|2020-06-17|Sonova AG|Communication device having a wireless interface| CN110035420A|2017-12-19|2019-07-19|佳能株式会社|Communication system and device, image capture apparatus, control method and storage medium| US10819557B1|2019-05-03|2020-10-27|Servicenow, Inc.|Systems and methods for selective discovery of services| US11233588B2|2019-12-03|2022-01-25|Toyota Motor Engineering & Manufacturing North America, Inc.|Devices, systems and methods for determining a proximity of a peripheral BLE device| US11196661B2|2019-12-31|2021-12-07|Axis Ab|Dynamic transport in a modular physical access control system| CN111356100B|2020-03-09|2021-01-05|广州万唯邑众信息科技有限公司|Intelligent distribution method and system for mobile advertisement traffic|
法律状态:
2019-01-08| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-01-14| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2020-03-10| B15K| Others concerning applications: alteration of classification|Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 29/08 , H04W 8/00 Ipc: H04L 29/08 (2006.01), H04W 8/00 (2009.01), H04W 48 | 2021-03-09| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-05-25| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/12/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US28968909P| true| 2009-12-23|2009-12-23| US61/289,689|2009-12-23| US12/796,522|2010-06-08| US12/796,522|US9391853B2|2009-12-23|2010-06-08|Efficient service advertisement and discovery in a peer-to-peer networking environment with dynamic advertisement and discovery periods based on operating conditions| PCT/US2010/059590|WO2011087639A1|2009-12-23|2010-12-08|Efficient service advertisement and discovery in a peer-to-peer networking environment with dynamic advertisement and discovery periods based on operating conditions| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|